Я хотел инициировать процесс с моего python script (main.py)
, в частности, я хочу запустить приведенную ниже команду
`nohup python ./myfile.py &`
и этот файл myfile.py
должен даже после выхода моего основного питона script.
Кроме того, я хочу получить pid
нового процесса.
Я пробовал методы os.spawnl*
, os.exec*
и subprocess.Popen
, все завершают мой myfile.py
, если мой main.py script завершает работу.
Возможно, что-то не хватает.
Обновление. Можно ли использовать os.startfile
с xdg-open
? Это правильный подход?
Пример
a = subprocess.Popen([sys.executable, "nohup /usr/bin/python25 /long_process.py &"],\
stdout=subprocess.PIPE, stderr=subprocess.PIPE, stdin=subprocess.PIPE)
print a.pid
Если я проверяю ps aux | grep long_process
, я не вижу никакого процесса.
long_process.py, который продолжает печатать текст: нет выхода.
Я делаю что-то не так здесь?