我有一个小python文件,它只输出一个字符串:
#!/usr/bin/env python
print("This is a Test")
我可以从另一个python脚本调用这个python脚本,如下所示:
subprocess.call(['python', 'myPythonFile.py'])
我可以在我的源python程序中看到“这是一个测试”
但是我想从一个正在运行的守护进程调用这个脚本,如下所述:https://gist.github.com/andreif/cbb71b0498589dac93cb
当我把电话拨到
subprocess.call(['python', 'myPythonFile.py'])
在MyDaemon.Run中,我看不到输出
我该怎么做
守护进程的特点是没有控制终端,因为它与启动守护进程的对象分离。根据定义,守护进程未连接到任何控制台
因此,如果该守护进程运行另一个进程:
然后仍然没有控制终端,标准输出默认连接到空设备
您需要安排守护进程将其输出放在某个地方。例如,日志文件
尝试the ^{} library 获取创建守护进程和指定特定文件(例如,打开的日志文件)的方法,以便在守护进程中保持打开状态
subprocess.call
可以将其输出发送到文件尝试使用
check_output
函数查看控制台中的实际输出您可以在subprocess docs中找到更多信息
相关问题 更多 >
编程相关推荐