Jtg*_*enz 9 python windows subprocess daemon process
这真是一个非常简单的问题,但我似乎无法找到任何解决方案.
我有一个python脚本,我想启动一个独立的守护进程.我想调用ym python脚本,启动这个系统托盘dameon,在数据库文件上做一些python魔法并退出,让系统托盘守护进程运行.
我试过os.system,subprocess.call,subprocess.Popen,os.execl,但它始终保持我的剧本还活着,直到我关闭系统托盘守护进程.
这听起来应该是一个简单的解决方案,但我无法得到任何工作.
编辑:Windows解决方案:http:os.startfile()
//docs.python.org/library/os.html?highlight = startfile#os.startfile
有时放弃和询问意味着你只是在答案的尖端.
您可以使用几个漂亮的Popen参数在 Windows 上完成一个真正的分离过程(感谢 greenhat 在此处的回答):
import subprocess
DETACHED_PROCESS = 0x00000008
results = subprocess.Popen(['notepad.exe'],
close_fds=True, creationflags=DETACHED_PROCESS)
print(results.pid)
Run Code Online (Sandbox Code Playgroud)
另请参阅此答案以获得漂亮的跨平台版本(请务必添加,close_fds因为它对 Windows 至关重要)。
Windows解决方案: os.startfile()
就像您双击一个可执行文件并使它独立启动一样。一个非常方便的班轮。
http://docs.python.org/library/os.html?highlight=startfile#os.startfile