ubuntu - sudo Kill 导致权限被拒绝

标签 ubuntu

ps -aux | grep 节点结果:

root      2814  0.0  0.0   4344     0 ?        S    Mai27   0:00 sh -c node ./node_modules/webpack-dev-server/bin/webpack-dev-server.js
root      2815  0.0  0.0 1358316 1096 ?        Sl   Mai27   0:17 node ./node_modules/webpack-dev-server/bin/webpack-dev-server.js
root      2881  0.0  0.0   4344     0 ?        S    Mai27   0:00 sh -c npx webpack --mode development && node ./build/bundle.js
root      2910  0.0  0.7 1262156 63004 ?       Sl   Mai27   0:47 node ./build/bundle.js

sudo Kill 2814 2815 1881 2910 导致权限被拒绝。

据我所知,如果您在没有 sudo 的情况下运行它,并且该用户不是您执行任务的用户,那么权限被拒绝是有意义的。但是,在这里我没有任何线索,有人可以解释为什么有时无法使用 sudo 杀死根进程吗?这有什么意义吗? (特别是因为这只是我自己项目的一个webpack过程,所以不太明白。)

最佳答案

由于您使用的是 Linux (Ubuntu) - 如果 sudo Kill 仍然给出 permission returned 那么可能是因为您正在容器化应用程序中运行(例如 Snap app)如VSCode的集成终端。尝试从另一个不是 Snap 应用程序的终端运行 sudo Kill,例如 Alacritty、gnome-terminal、Konsole 等。


更多信息:

这些类型的容器化应用程序(Snap、Flatpak 等)通常受到 AppArmor 的限制配置文件可防止进行某些系统调用(也称为“系统调用”)。

kill 命令的工作原理是创建 signal()系统调用。如果 signal 系统调用被应用于您正在使用的终端的 AppArmor 配置文件阻止,则可能会导致权限被拒绝。

您可以通过检查内核日志来检查是否发生这种情况(运行命令dmesg)。示例:

[ 6405.232002] audit: type=1400 audit(1658415742.446:231): apparmor="DENIED" operation="signal" profile="docker-default" pid=89218 comm="kill" requested_mask="receive" denied_mask="receive" signal=kill peer="snap.code.code"

错误消息的关键部分是:apparmor="DENIED"operation="signal"... signal=kill。这意味着 AppArmor 正在阻止试图终止进程的signal系统调用。

关于ubuntu - sudo Kill 导致权限被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56459443/

相关文章:

ubuntu - 带有 Vagrant 的 Ubuntu 14.10 上的 Laravel

c++ - 通过 C++ 获取 micro SD 卡的大小

php mail() 返回 false,但不在命令行中

未强制执行 php7 超时

java - FTPClient - 550 权限被拒绝

amazon-web-services - 在 EC2 AWS 中使用 UFW 将自己锁定在 SSH 之外

python - pandas在ubuntu上安装错误代码1 in/tmp/pip-build-FM0q5o/pandas/

linux - 如何在 Linux 中设置 i2c 总线的波特率?

php - 使用 PostgreSQL 安装 OwnCloud - 未在 Ubuntu 12.04LTS 上进行身份验证

docker - Gitlab 运行器 : cannot reclaim Docker space on Ubuntu - no space left on device