Когда/как Apache уничтожает дочерний процесс, который Вы порождаете в PHP?

Быстрый ответ: Облачные вычисления являются стилем вычислений, в которых динамично масштабируемые и виртуализированные ресурсы обеспечиваются как услуга :-)

2
задан 17 August 2013 в 04:00
1 ответ

Вы хотите запустить приложение в фоновом режиме и забыть?

есть много сообщений об этом на php.net

Кроме того, примечание руководителя:

Примечание:

Если программа запускается с этой функцией, чтобы она продолжить работу в фоновом режиме, вывод программы должен быть перенаправлен в файл или другой выходной поток. В противном случае заставляют PHP зависать до тех пор, пока выполнение программы не закончится.

то же здесь и здесь и здесь и т. д.

У меня ужасный код, нарушая эти правила:

 

Только что протестировал на моем Fedora Box со стандартным apache + php (prefork + module), я убил процессы с помощью killall -9 / usr / sbin / httpd

  1. , несмотря на и - нет, не Это все еще считается запущенным. мое фоновое приложение все еще работает
  2. в соответствии с моим тестом выше - оно будет продолжаться
  3. в зависимости от того, как сценарий инициализации завершает работу apache, то же самое в соответствии с п. 1.

После добавления / dev / null - все в порядке, идентификатор родительского процесса - "1".

4
ответ дан 3 December 2019 в 10:06

Теги

Похожие вопросы