Linux - безопасное уничтожение некоторых процессов, принадлежащих apache - PullRequest
0 голосов
/ 29 сентября 2010

У меня есть куча процессов, принадлежащих apache, которые работают в течение нескольких дней, потому что они застряли.

apache   11173  0.1  0.0 228248 27744 ?        Ss   Sep27   3:58 php /var/www/html/myproj/symfony cron:aggregation --env=prod  
apache   12609  0.1  0.0 228244 27744 ?        Ss   Sep18  19:30 php /var/www/html/myproj/symfony cron:aggregation --env=prod  
apache   14646  0.1  0.0 228244 27744 ?        Ss   Sep17  21:30 php /var/www/html/myproj/symfony cron:aggregation --env=prod  
apache   15900  0.1  0.0 228244 27744 ?        Ss   Sep20  15:46 php /var/www/html/myproj/symfony cron:aggregation --env=prod  
apache   16169  0.1  0.0 228248 27752 ?        Ss   Sep22  12:16 php /var/www/html/myproj/symfony cron:aggregation --env=prod  
apache   16887  0.1  0.0 228244 27748 ?        Ss   Sep21  14:04 php /var/www/html/myproj/symfony cron:aggregation --env=prod  
apache   16950  0.1  0.0 228244 27744 ?        Ss   Sep28   2:25 php /var/www/html/myproj/symfony cron:aggregation --env=prod  
apache   19195  0.1  0.0 228244 27748 ?        Ss   Sep23  10:29 php /var/www/html/myproj/symfony cron:aggregation --env=prod  
apache   24605  0.1  0.0 228248 27752 ?        Ss   Sep24   8:48 php /var/www/html/myproj/symfony cron:aggregation --env=prod  
apache   26442  0.1  0.0 228244 27744 ?        Ss   03:45   0:50 php /var/www/html/myproj/symfony cron:aggregation --env=prod  
apache   29714  0.1  0.0 228248 27752 ?        Ss   Sep25   7:06 php /var/www/html/myproj/symfony cron:aggregation --env=prod  
apache   31031  0.1  0.0 228248 27752 ?        Ss   Sep26   5:30 php /var/www/html/myproj/symfony cron:aggregation --env=prod  

Мне нужно убить их всех. И, очевидно, я хочу сделать это безопасно.
Таким образом, в идеале я должен убить их как apache, используя что-то вроде этого:

kill 11173 

Проблема в том, что apache user не имеет оболочки.

Так что, похоже, единственный способ - это перейти в root и убить процесс как root. Но это совсем не безопасно (я могу по ошибке убить другие процессы).

У кого-нибудь есть лучшее решение?

Спасибо, Даниэла

Ответы [ 2 ]

0 голосов
/ 29 сентября 2010

sudo -u apache kill 11173

0 голосов
/ 29 сентября 2010

Это должно принадлежать http://serverfault.com Я думаю ... но если вы хотите уничтожить все процессы с именем apache, запустите killall apache от имени пользователя root.В качестве альтернативы, измените личность вашего пользователя apache с помощью su apache и убейте там свои процессы, используя kill, как вы сделали.

...