Лучший способ порождения и мониторинга процессов? - PullRequest
3 голосов
/ 14 июня 2011

Я собираюсь создать приложение, которое порождает три системных процесса (Linux). Они будут работать около 2-8 минут, а затем закончат свою работу и выйдут. Довольно стандартный.

Мне интересно, как лучше:

  • Нерест процессов
  • Регистрация их выхода
  • Выполнение действия, когда процесс завершил свою работу

Любая помощь с благодарностью. Спасибо!

1 Ответ

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

Если у вас есть расширение, используйте функции PCNTL.Они отвлекают вас от получения идентификаторов процессов, проверки их статуса и т. Д.

  • pcntl_exec для запуска процесса
  • pcntl_waitpid с опцией WNOHANG для опроса их текущего статуса
  • Чтобы записать вывод, добавьте > /tmp/somefile 2>&1 к их команде.использовать разные временные имена файлов для каждого процесса - вы можете создать его с помощью tempnam()
...