Risposte:
Sì, è un po 'sepolto nella descrizione :
Quando agisce in modalità pass-through,
apachectl
può prendere tutti gli argomenti disponibili per ilhttpd
binario.apachectl [ httpd-argument ]
Quindi diamo un'occhiata alla http
documentazione di allora:
-k start|restart|graceful|stop|graceful-stop
Segnali
httpd
per l'avvio, il riavvio o l'arresto.
Quindi, se si utilizza -k <option>
, sarà sufficiente passare a httpd
, che ha bisogno di questo argomento.
Se non si utilizza il -k
, apache2ctl
cercherà invece i comandi che gestirà se stesso, che sono di nuovo gli stessi di quelli httpd
necessari.
Guardando il codice sorgente si manifesta questo comportamento, in cui case
un'istruzione verifica se il primo argomento è uno dei comandi interni riconosciuti, e infine (come fallback), tutto è passato httpd
.
case $ARGV in
start)
HTTPD ${APACHE_ARGUMENTS} -k $ARGV # <= note the -k here
# ...
stop|graceful-stop)
# ...
# ...
*)
$HTTPD ${APACHE_ARGUMENTS} $ARGV
ERROR=$?
esac
-k
, quindi apachectl
gestirà i comandi stessi, ma fa lo stesso di httpd
. Se si utilizza -k
, il comando viene passato così httpd
com'è.
Modifica per aggiungere: mi dispiace, slhck digita più velocemente di me: D
'apache2ctl' è in realtà solo un front-end per l'eseguibile 'httpd' e funziona in due modalità a seconda se si desidera che sia eseguibile tramite script SysV init o se si desidera passare le opzioni all'eseguibile httpd. Il -k viene effettivamente passato a httpd.
http://httpd.apache.org/docs/2.2/programs/apachectl.html
Quando agisce in modalità pass-through, apachectl può accettare tutti gli argomenti disponibili per il binario httpd.
apachectl [argomento-httpd]
Quindi dalla pagina man httpd, http://httpd.apache.org/docs/2.2/programs/httpd.html
-k start | restart | graceful | stop | graceful-stop Segnala a httpd l'avvio, il riavvio o l'arresto.