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

Служба остановлена, но процесс все еще существует в системе

Что делать, если кто-то удаляет файл / var / lock / subsys / httpd.

Как правило, вы можете попросить любой процесс корректно завершить работу, найдя его PID и отправив ему сигнал 15. Попробуйте

www% ps auxww|grep http
apache     311  0.0  0.5  42932 22580 ?        S    Mar11   0:21 /usr/sbin/httpd
apache    2547  0.0  0.5  42768 22188 ?        S    Mar12   0:06 /usr/sbin/httpd
root      2669  0.0  0.2  28500 11228 ?        Ss   Feb15   0:00 /usr/sbin/httpd
[ and many more http processes ] 

Тот, который вас интересует, - это родительский элемент, которым владеет root. PID - это второй столбец, в данном случае 2669, поэтому попросите его умереть с

% kill -15 2669

Повторите команду ps, чтобы убедиться, что она исчезла. Если он не пойдет изящно, вы можете заставить его умереть с помощью сигнала 9:

% kill -9 2669

В некоторых UNIX есть другие команды для уничтожения определенных групп процессов или всех процессов с определенным фрагментом текста в имени, но вы не говорите, какую ОС вы используете (хотя использование /var/lock файл дает понять, что это какая-то UNIX). Пытаться man killall и вы вполне можете узнать, killall httpd было бы проще для вас.

Как правило, вам нужно быть root или использовать sudo команда, чтобы отправить произвольный сигнал произвольному процессу.