Antworten:
Ja, es ist ein wenig in der Beschreibung begraben :
Im Pass-Through-Modus
apachectl
können alle für diehttpd
Binärdatei verfügbaren Argumente verwendet werden .apachectl [ httpd-argument ]
Schauen wir uns also die http
Dokumentation an :
-k start|restart|graceful|stop|graceful-stop
Signale
httpd
zum Starten, Neustarten oder Stoppen.
Wenn Sie also verwenden -k <option>
, werden Sie einfach an weiterleiten httpd
, was dieses Argument benötigt.
Wenn Sie das nicht verwenden -k
, apache2ctl
suchen Sie stattdessen nach Befehlen, die es selbst verarbeitet, und die wiederum dieselben sind, die es benötigen httpd
würde.
Ein Blick auf den Quellcode zeigt dieses Verhalten, bei dem eine case
Anweisung prüft, ob das erste Argument einer der erkannten internen Befehle ist, und schließlich (als Fallback) alles weitergegeben wird httpd
.
case $ARGV in
start)
HTTPD ${APACHE_ARGUMENTS} -k $ARGV # <= note the -k here
# ...
stop|graceful-stop)
# ...
# ...
*)
$HTTPD ${APACHE_ARGUMENTS} $ARGV
ERROR=$?
esac
-k
, dann apachectl
werden die Befehle selbst behandelt, aber es tut das gleiche wie httpd
. Wenn Sie verwenden -k
, wird der Befehl unverändert an unverändert weitergeleitet httpd
.
Bearbeiten, um hinzuzufügen: Sorry, slhck-Typen schneller als ich: D.
'apache2ctl' ist eigentlich nur ein Front-End für die ausführbare Datei 'httpd' und wird in zwei Modi ausgeführt, je nachdem, ob SysV init skriptfähig sein soll oder ob Optionen an die ausführbare Datei von httpd weitergeleitet werden sollen. Das -k wird tatsächlich an httpd weitergeleitet.
http://httpd.apache.org/docs/2.2/programs/apachectl.html
Im Pass-Through-Modus kann apachectl alle für die httpd-Binärdatei verfügbaren Argumente verwenden.
apachectl [httpd-argument]
Also von der httpd-Manpage http://httpd.apache.org/docs/2.2/programs/httpd.html
-k start | restart | graceful | stop | graceful-stop Signalisiert httpd zum Starten, Neustarten oder Stoppen.