02.07.2013 Aufrufe

Online lesen (PDF) - Lingoworld IT-Bücher

Online lesen (PDF) - Lingoworld IT-Bücher

Online lesen (PDF) - Lingoworld IT-Bücher

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

210<br />

gleichnamigen Systemaufruf ausführt. Die allgemeine Syntax dieses Befehls<br />

lautet bekanntermaßen so:<br />

# kill [-SIGNAL] PID<br />

Das einzige Problem besteht darin, den Steuerprozess ausfindig zu machen.<br />

Wie Sie weiter oben in Abbildung 5.1 gesehen haben, gibt es bei einem prefork-Apache<br />

mehrere Prozesse mit dem Namen httpd. Welcher von ihnen der<br />

Steuerprozess ist, lässt sich auf zweierlei Arten ermitteln:<br />

Es ist derjenige Prozess, der unter der User-ID root ausgeführt wird. Die<br />

Child-Prozesse für die Client-Bedienung laufen unter einer anderen UID,<br />

meistens nobody oder daemon (wird durch die Direktive User festgelegt;<br />

siehe nächstes Kapitel).<br />

Die zweite Methode ist die sicherste: Apache legt beim Start eine PID-Datei<br />

an. Diese enthält die Prozess-ID des Steuerprozesses. Diese Datei wird unter<br />

anderem dazu verwendet, um bei einem Startversuch festzustellen, ob der<br />

Server bereits läuft oder ob er womöglich unsauber beendet wurde – Letzteres<br />

ist der Fall, wenn die PID-Datei zwar noch existiert, aber kein Prozess<br />

unter der Nummer läuft, die darin steht.<br />

Wo sich die PID-Datei (httpd.pid) befindet, hängt wieder einmal vom verwendeten<br />

Verzeichnislayout ab. Sie liegt im RUNTIMEDIR: Beim Apache-Layout<br />

ist dies /usr/local/apache2/logs, beim GNU-Layout /usr/local/<br />

var/apache2/run.<br />

Bequemerweise können Sie zur Angabe der PID im kill-Befehl unmittelbar<br />

den Wert aus httpd.pid verwenden. Setzen Sie dazu einfach den Ausgabebefehl<br />

cat /Pfad/von/httpd.pid in `Backticks`; unter Verwendung des<br />

GNU-Layouts z.B. so:<br />

`cat /usr/local/var/apache2/run/httpd.pid`<br />

Nun brauchen Sie nur noch zu wissen, welche Signale verwendet werden, um<br />

die unterschiedlichen Verhaltensweisen des Servers zu bewirken:<br />

TERM beendet Apache 2 vollständig. Da TERM das Standardsignal für kill ist,<br />

brauchen Sie gar kein Signal anzugeben, um Apache zu beenden.<br />

Hier ein Beispiel mit der nach dem ersten Verfahren ermittelten PID aus<br />

Abbildung 5.1:<br />

# kill 23100<br />

Natürlich können Sie das Signal TERM auch explizit angeben, wenn Sie möchten:<br />

Apache in Betrieb nehmen

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!