Как убить все процессы PHP-FPM в одной командной строке

У меня есть проблема с эффективным отключением php-fpm; не все процессы перестают работать и поэтому php-fpm не перезапускается, как ожидалось.

Я хочу, чтобы запускалась командная строка, которая убьет весь процесс php-fpm чтобы я мог добавить его в init.d чтобы остановка гарантировала, что они все удалены.

Ниже приведен результат ps -aux | grep php-fpm ps -aux | grep php-fpm;

793      102971  0.0  0.1 4520304 5868 ?        S    13:20   0:00 php-fpm: pool tokyodating.co
794      102972  0.0  0.1 4520304 5868 ?        S    13:20   0:00 php-fpm: pool turkeydating.co
794      102973  0.0  0.1 4520304 5868 ?        S    13:20   0:00 php-fpm: pool turkeydating.co
794      102974  0.0  0.1 4520304 5868 ?        S    13:20   0:00 php-fpm: pool turkeydating.co
795      102975  0.0  0.1 4520304 5868 ?        S    13:20   0:00 php-fpm: pool ukrainedating.co
795      102976  0.0  0.1 4520304 5868 ?        S    13:20   0:00 php-fpm: pool ukrainedating.co
795      102977  0.0  0.1 4520304 5868 ?        S    13:20   0:00 php-fpm: pool ukrainedating.co
796      102978  0.0  0.1 4520304 5868 ?        S    13:20   0:00 php-fpm: pool unemployeddating.com
796      102979  0.0  0.1 4520304 5868 ?        S    13:20   0:00 php-fpm: pool unemployeddating.com
796      102980  0.0  0.1 4520304 5868 ?        S    13:20   0:00 php-fpm: pool unemployeddating.com
822      102981  0.0  0.1 4520304 5868 ?        S    13:20   0:00 php-fpm: pool datingcougar.co
822      102982  0.0  0.1 4520304 5868 ?        S    13:20   0:00 php-fpm: pool datingcougar.co
822      102983  0.0  0.1 4520304 5888 ?        S    13:20   0:00 php-fpm: pool datingcougar.co
798      102984  0.0  0.1 4520304 5888 ?        S    13:20   0:00 php-fpm: pool vegandating.co
798      102985  0.0  0.1 4520304 5888 ?        S    13:20   0:00 php-fpm: pool vegandating.co
798      102986  0.0  0.1 4520304 5888 ?        S    13:20   0:00 php-fpm: pool vegandating.co
799      102987  0.0  0.1 4520304 5888 ?        S    13:20   0:00 php-fpm: pool vegetariandating.co
799      102988  0.0  0.1 4520304 5888 ?        S    13:20   0:00 php-fpm: pool vegetariandating.co
799      102989  0.0  0.1 4520304 5888 ?        S    13:20   0:00 php-fpm: pool vegetariandating.co
800      102990  0.0  0.1 4520304 5888 ?        S    13:20   0:00 php-fpm: pool vietnamdating.co
800      102991  0.0  0.1 4520304 5888 ?        S    13:20   0:00 php-fpm: pool vietnamdating.co
800      102992  0.0  0.1 4520304 5888 ?        S    13:20   0:00 php-fpm: pool vietnamdating.co
720      103001  0.0  0.2 4522680 10672 ?       S    13:21   0:00 php-fpm: pool kuwaitdating.co
746      103008  0.1  0.2 4522684 10132 ?       S    13:23   0:00 php-fpm: pool newzealanddating.co
746      103009  0.0  0.1 4520304 5876 ?        S    13:23   0:00 php-fpm: pool newzealanddating.co

Как я могу убить все процессы php-fpm работающие в одной командной строке?

Ответ 1

Вместо этого вы можете использовать killall, вместо имени PID требуется имя процесса

killall -KILL php-fpm

ps: -9 и -KILL одинаковы

Ответ 2

если у кого проблема, как я:

-bash: killall: command not found

вы можете использовать:

sudo kill -9 'sudo ps -ef | grep php-fpm | grep -v grep | awk '{print $2}''

Я нашел эту команду здесь: https://gist.github.com/bmichalski/c8d25fff041a4739d6f0126edb0e9b54, это сработало для меня.

Ответ 3

Если у вас возникли проблемы, когда killall не является командой в вашей среде, я бы порекомендовал следующее:

Чтобы убить все php-fpm для вашего пользователя

pkill php-fpm

Чтобы убить все php-fpm для всех пользователей

sudo pkill php-fpm