start-stop-daemon 无法停止守护进程“未发现 $daemon 正在运行;没有一个被杀死。”

start-stop-daemon 无法停止守护进程“未发现 $daemon 正在运行;没有一个被杀死。”

尝试停止 Debian 11 上的传输守护进程给我:

start-stop-daemon --stop --chuid debian-transmission --exec /usr/bin/transmission-daemon -- --config-dir /var/lib/transmission-daemon/info

No /usr/bin/transmission-daemon found running; none killed.

但我很确定事实并非如此:

root@91c79f82a860:/var/www/html# ps -ef | grep transmission
debian-+  1347     1  0 19:02 ?        00:00:00 /usr/bin/transmission-daemon --config-dir /var/lib/transmission-daemon/info

系统信息:

root@91c79f82a860:/var/www/html# dpkg -s transmission-daemon | grep Version     
Version: 3.00-1
root@91c79f82a860:/var/www/html# lsb_release -a
No LSB modules are available.                 
Distributor ID: Debian                        
Description:    Debian GNU/Linux 11 (bullseye)

另外,我正在 docker 容器内执行此操作php:8.1.8-apache

我从 /etc/init.d/transmission-daemon 中提取了 start-stop-daemon CMD。

答案1

如果您在 strace 下运行 start-stop-daemon 您将看到:

readlink("/proc/3130/exe", 0x7ffc68a5f890, 256) = -1 EACCES (Permission denied)

数字可能不同,但重点是读取 EACCES 中的 exe 符号链接结果。

--cap-add=SYS_PTRACE解决方案是使用或 选项运行 docker 容器--privileged

相关内容