我foo用 Python写了一个 RPC 服务器,我用它去妖魔化了start-stop-daemon --start --quiet --background \
--make-pidfile \
--pidfile /var/run/foo.pid \
-- /opt/foo一切正常,除了在我的守护进程中每次使用subprocess.check_call(some_cmd)或os.popen(some_cmd).read(1048576)与我foo在前台开始时的情况相比都返回一个空字符串。外部程序some_cmd仍然成功执行(正如我在日志中看到的那样),但我无法访问它打印到标准输出的内容。为什么会这样,我可以对start-stop-daemon调用或我的 Python 代码进行哪些更改以解决此问题?PS:我发现只有某些命令的输出现在是空的:subprocess.check_output('echo "Hello World"', shell=True)仍然表现正常,而subprocess.check_output('/etc/init.d/apache2 --nocolor reload', shell=True)现在的输出是空的。
添加回答
举报
0/150
提交
取消