我有一个发布以下内容的 python 服务。通过子进程调用命令:
RUNLEVEL=1 apt-get install <package>
这个包,作为它的安装的一部分,发出一个 systemctl status smb 命令,这个命令永远卡住了。给 RUNLEVEL=1 的原因是为了防止 nginx(包的依赖)一安装就在 80 端口启动。
关于什么可能是错误的任何想法?请询问更多信息。
编辑: systemctl 进程卡住等待寻呼机返回。寻呼机进程无限期地等待读取。
root@64_29:~# ps -ef | grep smb
root 9528 9462 0 16:32 pts/2 00:00:00 /bin/systemctl status smb.service
root@64_29:~# strace -p 9528
Process 9528 attached
waitid(P_PID, 9529,
root@64_29:~# ps -ef | grep 9529
root 9529 9528 0 16:32 pts/2 00:00:00 pager
root@64_29:~# strace -p 9529
Process 9529 attached
read(2,
另外为了防止使用RUNLEVEL=1,我在安装自定义包之前屏蔽了nginx,所以不再提供RUNLEVEL=1。