Назад | Перейти на главную страницу

Как просмотреть и убить процессы PHP?

Я новичок в использовании SSH, и у меня проблемы с поиском способа просмотра и завершения запущенных процессов PHP.

Когда я говорю «процессы PHP», я имею в виду файлы PHP, которые были запущены через браузер, но продолжали работать, когда должны были остановиться.

Я пробовал это:

ps aux | grep php

Но результатов нет, хотя я знаю, что файлы запущены.

Как я могу просмотреть запущенные файлы, а затем выборочно убить их (или убить их все)?

Htop можно использовать для просмотра процессов и выборочного их уничтожения:

sudo apt-get install htop

Как сказал ckujau, это зависит от вашей настройки, но обычно новый процесс php порождается apache и живет на время запроса. В htop проверьте apache при отправке запроса. Должен запуститься процесс php. Если он останется живым, вы можете выбрать и убить его.

Вот скриншот htop, показывающий процессы php-fpm. php-fpm поддерживает пул долго выполняющихся процессов php, которые можно повторно использовать для нескольких запросов.

Обратите внимание: «htop» - это более удобная версия слова «top».

См. Также объяснение htop: https://peteris.rocks/blog/htop/

"PHP-файлы", то есть программные файлы, заканчивающиеся на .php может быть не видно с ps. Но ps может отображать машины, которые, в свою очередь, будут запускать эти .php файлы. В зависимости от вашей настройки этим можно управлять через fast-cgi или mod_php или даже php-fpm. Если вы используете mod_php, то "процессы php" не будут видны для ps. Вы все еще можете увидеть, используется ли ваш PHP-движок, используя lsof:

$ lsof -ln
[...]