оболочка процесса Python - PullRequest
       0

оболочка процесса Python

1 голос
/ 01 сентября 2011

Мне нужно написать оболочку процесса на python, которая запустит приложение и перезапустит его в случае сбоя.Это будет записано в указанное местоположение журнала, переданное из командной строки.Возможно ли это?

Ответы [ 2 ]

1 голос
/ 01 сентября 2011
>>> from subprocess import Popen
>>> def spawner(cmd_list):
...     while True:
...         print "Running proc..."
...         mon_proc = Popen(cmd_list)
...         print "Proc exit: %s" % mon_proc.wait()
... 
>>> spawner(['/bin/sleep', '3'])
Running proc...
Proc exit: 0
Running proc...
Proc exit: 0
Running proc...
Proc exit: 0
Running proc...
1 голос
/ 01 сентября 2011

Используйте модуль подпроцесс . Используйте Popen, чтобы запустить его и получить объект Popen. Используйте Popen.poll () или подождите, чтобы получить статус процесса в зависимости от того, что вы хотите. Сделайте это в цикле и войдите, используя модуль logging .

мои 2 цента

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