Мне нужно написать оболочку процесса на 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 () или подождите, чтобы получить статус процесса в зависимости от того, что вы хотите. Сделайте это в цикле и войдите, используя модуль logging .
мои 2 цента