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

1

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

  • 0
    Опишите неудачу. Некоторая ошибка на stderr? код возврата?
  • 0
    Совет: поиск. stackoverflow.com/… Следующее может ответить на ваш вопрос. stackoverflow.com/questions/3850708/python-multiprocessing . Если это не подходит, пожалуйста, предоставьте некоторые детали, чтобы мы знали, о чем вы говорите.
Теги:
process

2 ответа

1
Лучший ответ
>>> 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

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

мои 2 цента

Ещё вопросы

Сообщество Overcoder
Наверх
Меню