Как запустить отдельное приложение из текущего? - PullRequest
1 голос
/ 23 декабря 2010

У меня есть приложение с графическим интерфейсом, написанное на python. После запуска GUI он должен запустить автономный демон. Но если я закрою GUI или он выйдет из строя, демон тоже выйдет. Есть ли способ запустить одно приложение из другого независимо?

Ответы [ 2 ]

2 голосов
/ 23 декабря 2010

В Linux я справился с этим, заставив мой родительский процесс (в вашем случае GUI) запустить второй процесс python через подпроцесс или os.system. 2-й процесс немедленно демонизирует себя. Для этого см. здесь или здесь .

1 голос
/ 23 декабря 2010

Хотя я не запускаю демон, у меня есть программа 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, вторая программа продолжает работать.Кстати, это в системе CentOS Linux.

Я однажды сделал что-то подобное с TkInter, но сейчас мне этот код не доступен.Это было в системе Windows XP.Насколько я помню, второй процесс продолжал выполняться после того, как первый был остановлен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...