尝试停止 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
。