He estado buscando durante una hora y he encontrado cientos de ejemplos que lo usan, pero no hay una explicación de lo que hace. Lo comprobé man apache2ctl
; tampoco explica la bandera k (aunque sí la usa en ejemplos).
fuente
He estado buscando durante una hora y he encontrado cientos de ejemplos que lo usan, pero no hay una explicación de lo que hace. Lo comprobé man apache2ctl
; tampoco explica la bandera k (aunque sí la usa en ejemplos).
Sí, está un poco enterrado en la descripción :
Al actuar en modo de transferencia,
apachectl
puede tomar todos los argumentos disponibles para elhttpd
binario.apachectl [ httpd-argument ]
Entonces veamos la http
documentación de entonces:
-k start|restart|graceful|stop|graceful-stop
Señales
httpd
para iniciar, reiniciar o detener.
Entonces, si usa -k <option>
, simplemente pasará a httpd
, que necesita este argumento.
Si no usa el -k
, en apache2ctl
su lugar, buscará los comandos que manejará por sí mismo, que nuevamente son los mismos httpd
que tomaría.
Al observar el código fuente se exhibe este comportamiento, donde una case
declaración verifica si el primer argumento es uno de los comandos internos reconocidos y, finalmente, (como respaldo), todo se transfiere httpd
.
case $ARGV in
start)
HTTPD ${APACHE_ARGUMENTS} -k $ARGV # <= note the -k here
# ...
stop|graceful-stop)
# ...
# ...
*)
$HTTPD ${APACHE_ARGUMENTS} $ARGV
ERROR=$?
esac
-k
,apachectl
manejará los comandos en sí, pero hace lo mismo quehttpd
. Si lo usa-k
, el comando se pasa ahttpd
como está.Editar para agregar: Lo sentimos, slhck escribe más rápido que yo: D
'apache2ctl' es en realidad solo un front-end para el ejecutable 'httpd' y se ejecuta en dos modos dependiendo de si desea que sea Scriptable de inicio SysV o si desea transferir opciones al ejecutable httpd. El -k en realidad pasa a httpd.
http://httpd.apache.org/docs/2.2/programs/apachectl.html
Entonces, desde la página de manual de httpd, http://httpd.apache.org/docs/2.2/programs/httpd.html
fuente