Как перезапустить apache2, когда я получаю конфликт pid?

28

При попытке перезапустить apache2 я получаю то же сообщение, что и в этой теме :

 * Restarting web server apache2 [fail]
 * There are processes named 'apache2' running which do not match your pid file which are left untouched in the name of safety, Please review the situation by hand.

Но проблема в том, что у меня нет никакого файла внутри / var / run / apache2. Команда pidof apache2 возвращает:

1274

Я не знаю, поможет ли это, но вот строка в apache2.conf:

PidFile ${APACHE_PID_FILE}

И тот, что в envvars:

export APACHE_PID_FILE=/var/run/apache2/apache2$SUFFIX.pid

Должен ли я вручную создавать файл .pid внутри / var / run / apache2?

Большое спасибо !

Иван Габриэле
источник
Как был установлен Apache? ЛАМПА, nginx, XAMPP? Upstart может не знать, как обрабатывать инстанс, который вы установили, если он все еще вызывает скрипты в
init.d
Я установил Apache с помощью sudo apt-get install в Ubuntu 13.10 (на виртуальной машине Azure). Нужно ли вводить определенную команду, чтобы знать вызывающие сценарии?
Иван Габриэле
2
sudo kill -9 1274тогда попробуйте service apache2 status Если он вернется с stopped/waitingпотомsudo service apache2 start
Дуггро
Вау, это сработало идеально! Я чувствую себя глупо, что не пробовал это раньше ... Большое спасибо @douggro!
Иван Габриэле
@douggro Вы должны войти sudo kill -9 <pid>в качестве ответа. У меня это тоже сработало.
неорганик

Ответы:

28

Спасибо @douggro, который нашел ответ.

Найдите идентификатор процесса Apache2 с помощью:

pidof apache2 

Убить процесс (ы):

sudo kill -9 <pid>

Затем вы можете запустить Apache2 как обычно:

sudo service apache2 start

ОБНОВИТЬ

Если sudo kill -9 <pid>не работает, просто попробуйте sudo kill <pid>!

Иван Габриэле
источник
4
Вы можете отредактировать свой ответ, включив детали и сделать его более полезным. Комментарии не предназначены для хранения длительной информации.
Сет
1
Не работает для меня на Ubuntu 14.04.
Nitesh Verma
1

Попробовав разные лайнеры которые не работали я нашел это

kill -9 $(pidof apache2)

это, кажется, работает просто отлично

Энди
источник