Antworten:
Ja, es ist ein wenig in der Beschreibung begraben :
Im Pass-Through-Modus
apachectlkönnen alle für diehttpdBinärdatei verfügbaren Argumente verwendet werden .apachectl [ httpd-argument ]
Schauen wir uns also die httpDokumentation an :
-k start|restart|graceful|stop|graceful-stopSignale
httpdzum 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, apache2ctlsuchen Sie stattdessen nach Befehlen, die es selbst verarbeitet, und die wiederum dieselben sind, die es benötigen httpdwürde.
Ein Blick auf den Quellcode zeigt dieses Verhalten, bei dem eine caseAnweisung 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 apachectlwerden 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.