如何从当前应用程序运行一个独立应用程序?

1 投票
2 回答
1229 浏览
提问于 2025-04-16 08:57

我有一个用Python写的图形界面应用程序。这个图形界面启动后,应该能运行一个独立的后台程序。但是如果我关闭了图形界面或者它崩溃了,后台程序也会一起退出。有没有办法让一个应用程序从另一个应用程序独立运行呢?

2 个回答

2

在Linux系统下,我是通过让我的父进程(在你的情况下是图形用户界面)来启动第二个Python进程,使用的是subprocess或者os.system。第二个进程会立刻变成一个守护进程。想要了解怎么做,可以看看这里或者这里

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图形界面程序,第二个程序依然会继续运行。顺便提一下,我是在CentOS Linux系统上做的这个。

我之前在TkInter上做过类似的事情,但现在没有那个代码了。那是在Windows XP系统上。我记得当第一个程序停止后,第二个程序也还是继续在运行。

撰写回答