我有一个用python编写的GUI应用程序。 GUI启动后,它应该运行独立守护进程。但是,如果我关闭GUI或它崩溃,守护进程也会退出。有没有办法独立地从另一个应用程序运行一个应用程序?
答案 0 :(得分:2)
在Linux下,我通过拥有父进程(在你的情况下是GUI)来处理这个问题,通过subprocess或os.system启动第二个python进程。第二个过程立即守护自己。为此,请参阅here或here。
答案 1 :(得分:1)
虽然我没有启动守护进程,但我有一个pygtk程序,它使用subprocess.Popen()启动另一个程序,shell = True。例如:
import subprocess
def callback(self, widget, date=None):
cmd = "Your command here"
other_process = subprocess.Popen(cmd, shell=True)
由于这是一个附加到按钮的回调,pygtk会在单击按钮时处理事情。即使我关闭了最初的pygtk gui程序,第二个程序仍在运行。 FWIW,这是在CentOS Linux系统上。
我曾经用TkInter做了类似的事情,但是现在没有那个代码可供我使用。那是在Windows XP系统上。我的回忆是第二个过程在第一个过程停止后继续运行。