Réponses:
Oui, c'est un peu enfoui dans la description :
Lorsque vous agissez en mode passe-système,
apachectl
peut prendre tous les arguments disponibles pour lehttpd
binaire.apachectl [ httpd-argument ]
Regardons donc http
la documentation de :
-k start|restart|graceful|stop|graceful-stop
Signaux
httpd
pour démarrer, redémarrer ou arrêter.
Donc, si vous utilisez -k <option>
, vous passerez simplement à httpd
, qui a besoin de cet argument.
Si vous n'utilisez pas le -k
, apache2ctl
recherchera à la place les commandes qu'il gérera lui-même, qui sont à nouveau les mêmes que celles httpd
qui le prendraient.
En regardant le code source présente ce comportement, où une case
instruction vérifie si le premier argument est l'une des commandes internes reconnues, et enfin (comme solution de repli), tout est passé httpd
.
case $ARGV in
start)
HTTPD ${APACHE_ARGUMENTS} -k $ARGV # <= note the -k here
# ...
stop|graceful-stop)
# ...
# ...
*)
$HTTPD ${APACHE_ARGUMENTS} $ARGV
ERROR=$?
esac
-k
, puis apachectl
gérera les commandes lui-même, mais il fait la même chose que httpd
. Si vous utilisez -k
, la commande est transmise httpd
telle quelle.
Modifier pour ajouter: Désolé, les types slhck sont plus rapides que moi: D
'apache2ctl' n'est en fait qu'un front-end pour l'exécutable 'httpd' et s'exécute en deux modes selon que vous voulez qu'il soit scriptable par SysV init ou si vous voulez passer des options à l'exécutable httpd. Le -k est en fait transmis à httpd.
http://httpd.apache.org/docs/2.2/programs/apachectl.html
Lorsqu'il agit en mode passe-système, apachectl peut prendre tous les arguments disponibles pour le binaire httpd.
apachectl [httpd-argument]
Donc, depuis la page de manuel httpd, http://httpd.apache.org/docs/2.2/programs/httpd.html
-k start | restart | graceful | stop | graceful-stop Signale httpd pour démarrer, redémarrer ou arrêter.