Was ist das Apache2ctl-Flag „-k“?

Was ist das Apache2ctl-Flag „-k“?

Ich habe eine Stunde lang gesucht und hundert Beispiele gefunden, die es verwenden, aber keine Erklärung, was es tut. Ich habe nachgeschaut man apache2ctl; es erklärt auch nicht das k-Flag (obwohl es in Beispielen verwendet wird).

Antwort1

Ja, es ist ein wenig vergrabenin der Beschreibung:

Wenn im Pass-Through-Modus agiert wird, können alle für die Binärdatei apachectlverfügbaren Argumente übernommen werden .httpd

apachectl [ httpd-argument ]

Schauen wir uns also anhttp's DokumentationDann:

-k start|restart|graceful|stop|graceful-stop

Signale httpdzum Starten, Neustarten oder Stoppen.

Wenn Sie also verwenden -k <option>, übergeben Sie einfach an httpd, das dieses Argument benötigt.

Wenn Sie nicht verwenden -k, apache2ctlsucht es stattdessen nach Befehlen, die es selbst verarbeitet. Dies sind wiederum dieselben, die es httpdannehmen würde.


Ein Blick auf den Quellcode zeigt dieses Verhalten. Eine caseAnweisung prüft, ob das erste Argument einer der erkannten internen Befehle ist, und schließlich (als Fallback) wird alles an weitergegeben httpd.

case $ARGV in
start)
  HTTPD ${APACHE_ARGUMENTS} -k $ARGV # <= note the -k here
  # ...
stop|graceful-stop)
  # ...
# ...
*)
    $HTTPD ${APACHE_ARGUMENTS} $ARGV
    ERROR=$?
esac

Antwort2

Bearbeiten, um hinzuzufügen: Entschuldigung, slhck tippt schneller als ich :D

„apache2ctl“ ist eigentlich nur ein Frontend für die ausführbare Datei „httpd“ und läuft in zwei Modi, je nachdem, ob Sie es per SysV-Init-Skript ausführen möchten oder ob Sie Optionen an die ausführbare Datei „httpd“ weitergeben möchten. Das „-k“ wird tatsächlich an httpd weitergegeben.

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 übernehmen.

apachectl [ httpd-argument ]

Aus der Manpage von httpd:http://httpd.apache.org/docs/2.2/programs/httpd.html

-k start|restart|graceful|stop|graceful-stop Signalisiert httpd, zu starten, neu zu starten oder zu stoppen.

verwandte Informationen