Мне нужно написать обертка процесса в python, которая запустит приложение и перезапустит его, если он не сработает. Это будет регистрироваться в указанном месте журнала, переданном из командной строки. Это возможно?
>>> 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...
Используйте модуль подпроцесса. Используйте Popen, чтобы запустить его и получить объект Popen. Используйте Popen.poll() или ждите, чтобы получить статус процесса в зависимости от того, что вы хотите. Сделайте это в цикле и запишите с помощью модуля протоколирования.
мои 2 цента