
Ich versuche, Apache auf meinem Server neu zu starten, aber dadurch werden anscheinend nicht alle aktuell ausgeführten Prozesse von Apache beendet.
Der Befehl, den ich verwende, ist
sudo /etc/init.d/apache2 Neustart
Gibt es noch etwas, das ich tun sollte, wodurch auch alle untergeordneten Prozesse beendet werden?
Danke
Josh Pennington
Antwort1
Die untergeordneten Prozesse sollten angehalten werden, sobald sie mit der Bearbeitung ihrer aktuellen Anfragen fertig sind. Möchten Sie wirklich, dass Ihr Server Verbindungen mitten beim Bereitstellen einer Seite trennt? Der neu gestartete Server wird alle neuen Verbindungen verarbeiten, da er das Abhören neuer Verbindungen übernommen hat.
Überprüfen Sie nach etwa einer Minute, ob die untergeordneten Server des alten Servers beendet wurden. Wenn sie noch laufen, liegt wahrscheinlich ein Problem vor.
Antwort2
Einige Prozesse können gesperrt werden. Versuchen Sie:
sudo /etc/init.d/apache stop
sudo pgrep apache
Wenn der obige Befehl etwas zurückgibt, führen Sie Folgendes aus:
sudo pkill -9 apache
Starten Sie Apache dann erneut:
sudo /etc/init.d/apache2 start
Antwort3
PROCESS_APACHE=ps -ef | grep apache | awk {'print $2'}
töten -9 $PROCESS_APACHE