Как запустить скрипт Python в фоновом режиме после его запуска? - PullRequest
1 голос
/ 14 июня 2011
def main(self,argv):
    do stuff.......

if __name__ == '__main__':
    main(sys.argv[1:])

Когда мой скрипт запускается, как я могу заставить его немедленно запустить main () как фоновый процесс? Он будет работать до конца и выводит информацию в файл.

Я забыл сказать ... цель состоит в том, чтобы иметь возможность запустить это на любой ОС. Я не хочу изменять способ вызова скрипта в командной строке, я хочу, чтобы сам скрипт запускал его в фоновом режиме.

Ответы [ 4 ]

3 голосов
/ 14 июня 2011

easy:

$ python yourpythonscript.py &

ОС справится с этим за вас;) Конечно, вам придется указать, работает ли это на windows или * nix.

Если вы работаетеэто под windows, вы можете проверить программу cmd.exe - я думаю, что есть вариант для запуска ее аргументов в качестве фонового процесса ...

Или, если вы запускаете это под машиной Linux, выможете проверить процесс с помощью ps aux | grep yourpythonscript.py

3 голосов
/ 14 июня 2011

В Windows запустите программу, используя pythonw.exe вместо python.exe.

В Unix и MacOS используйте рецепт демона Python или python-daemon пакет.

1 голос
/ 14 июня 2011

Я бы использовал библиотеку Python threading .Это позволит вам запускать main () в фоновом режиме.

0 голосов
/ 28 февраля 2014

В Linux Вы можете использовать & для запуска в фоновом режиме, и если вы хотите, чтобы он запускался, даже если вы закрываете эту оболочку, используйте команду nohup: nohup python yourpythonscript.py &

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