У меня есть сервер CentOS с WHM, который использует FastCGI (mod_fcgid
) под управлением PHP 5.2.17 на Apache 2.0 с SuExec. Когда я запускаю Apache, он начинает нормально обслуживать запросы. Если я сбегу ps
на терминале как root я вижу php
процессы, и они принадлежат их httpd
родительские процессы.
По прошествии X времени - время от времени разное, обычно не дольше нескольких часов - сервер начнет порождать задания PHP, принадлежащие идентификатору процесса init (1
)
Пример хорошего листинга:
12918 18254 /usr/bin/php
12918 18257 /usr/bin/php
12918 18293 /usr/bin/php
12918 18545 /usr/bin/php
12918 18546 /usr/bin/php
12918 19016 /usr/bin/php
12918 19948 /usr/bin/php
Потом что-то вроде:
1 6800 /usr/bin/php
1 6801 /usr/bin/php
1 7036 /usr/bin/php
1 8788 /usr/bin/php
1 10488 /usr/bin/php
1 10571 /usr/bin/php
1 10572 /usr/bin/php
В php
процессы, выполняемые владельцем (1
) никогда не убираться. Почему эти процессы будут запущены? Мы не используем setsid
или что-нибудь помимо базового PHP в коде, запущенном на этом сервере.
Приветствия и Спасибо
родительские процессы этих процессов умерли, но сами они не завершились, поэтому они стали сиротами и, таким образом, были приняты процессом 1, то есть init. у программного обеспечения обычно возникают проблемы, когда это происходит часто, и вы можете подумать об обновлении до более новой версии.