Кроссплатформенное фоновое тихое выполнение процесса в python - PullRequest
0 голосов
/ 22 августа 2011

В программе Python мне нужно запустить команду в фоновом режиме, не отображая ее вывод.Поэтому я сейчас делаю os.system("nohup " + command + " &").

Edit: command не должен быть убит / закрыт при выходе из программы python.

Однако это будет работать только в Linuxсодержимое файла окажется в nohup.out, но мне оно там не нужно.Поэтому я ищу независимое от платформы решение.os.spawnlp(os.P_DETACH, command) не работает даже с версией *p, чтобы не вводить полный путь к приложению.

Примечание.Я знаю, что command, как правило, зависит от платформы, но это не главное в моем вопросе.

Ответы [ 2 ]

3 голосов
/ 22 августа 2011

Вы ищете процесс демона. Посмотрите на Как создать демона в Python? или http://blog.ianbicking.org/daemon-best-practices.html

2 голосов
/ 22 августа 2011

Посмотрите на модуль подпроцесс .

from subprocess import Popen, PIPE
process = Popen(['command', 'arg'], stdout=PIPE)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...