среда, 15 февраля 2012 г.

Unix - Как завершить работу apache

Бывает вызов
/etc/init.d/apache2 stop
не дает результата и  apache  остается висеть в памяти и к тому же продолжает работать. Тогда на помощь придет команда kill, которая убивает любой процесс, достаточно знать его PID, который можно посмотреть вызвав команду top. Но, открыв top вы обнаруживаете, что процессов apache запущено более десятка и убивать вручную задача не достойная вашего пытливого ума, тогда попробуйте вот что:

UNIX> kill -9 `ps -ef grep apache grep -v grep awk '{print $2}' `
обратите внимание на кавычки и апострофы.

kill -9 говорит, что нужно убить процесс с кодом 9.
ps -ef grep apache - оставит из всего top, только процессы с именем apache
grep -v grep awk '{print $2} - а это участок вернет вторую колонку, в которой и содержаться PID процессов.


Более подробно тут.