Je cherche depuis une heure et j'ai trouvé une centaine d'exemples qui l'utilisent, mais aucune explication de ce qu'il fait. J'ai vérifié man apache2ctl
; il n'explique pas non plus le drapeau k (bien qu'il l'utilise dans les exemples).
la source
Je cherche depuis une heure et j'ai trouvé une centaine d'exemples qui l'utilisent, mais aucune explication de ce qu'il fait. J'ai vérifié man apache2ctl
; il n'explique pas non plus le drapeau k (bien qu'il l'utilise dans les exemples).
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
, puisapachectl
gérera les commandes lui-même, mais il fait la même chose quehttpd
. Si vous utilisez-k
, la commande est transmisehttpd
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
Donc, depuis la page de manuel httpd, http://httpd.apache.org/docs/2.2/programs/httpd.html
la source