Jak zrestartować apache2, gdy dostanę konflikt pid?

28

Otrzymuję ten sam komunikat, co wyjaśniono w tym wątku, gdy próbuję zrestartować 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.

Ale problem polega na tym, że nie mam żadnego pliku wewnątrz / var / run / apache2. Polecenie pidof apache2 zwraca:

1274

Nie wiem, czy to pomoże, ale oto wiersz w apache2.conf:

PidFile ${APACHE_PID_FILE}

I ten w envvars:

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

Czy powinienem ręcznie utworzyć plik .pid w / var / run / apache2?

Dziękuję Ci bardzo !

Ivan Gabriele
źródło
Jak zainstalowano Apache? LAMPA, nginx, XAMPP? Upstart może nie wiedzieć, jak obsługiwać zainstalowaną instancję, jeśli nadal wywołują skrypty w
init.d
Zainstalowałem Apache poprzez sudo apt-get install na Ubuntu 13.10 (na maszynie wirtualnej platformy Azure). Czy muszę wpisać określone polecenie, aby poznać skrypty wywołujące?
Ivan Gabriele
2
sudo kill -9 1274potem spróbuj service apache2 status Jeśli to wróci z stopped/waitingtymsudo service apache2 start
Douggro
Wow, działało idealnie! Czuję się głupio, że nie próbowałem tego wcześniej ... Dziękuję bardzo @douggro!
Ivan Gabriele,
@douggro Powinieneś wpisać sudo kill -9 <pid>jako odpowiedź. Dla mnie też zadziałało.
inorganik

Odpowiedzi:

28

Dzięki @douggro, który znalazł odpowiedź.

Znajdź identyfikator procesora Apache2 za pomocą:

pidof apache2 

Zabij procesy:

sudo kill -9 <pid>

Następnie możesz uruchomić Apache2 jak zwykle:

sudo service apache2 start

AKTUALIZACJA

Jeśli sudo kill -9 <pid>nie działa, po prostu spróbuj sudo kill <pid>!

Ivan Gabriele
źródło
4
Możesz edytować swoją odpowiedź, aby uwzględnić szczegóły i uczynić ją bardziej przydatną. Komentarze nie mają na celu przechowywania trwałych informacji.
Seth
1
Nie działa dla mnie na Ubuntu 14.04.
Nitesh Verma
1

Po wypróbowaniu różnych linerów, które nie działały, znalazłem to

kill -9 $(pidof apache2)

to wydaje się działać dobrze

Andy
źródło