He estado buscando durante una hora y encontré cientos de ejemplos que lo usan, pero no hay explicación de lo que hace. Lo comprobé man apache2ctl
; tampoco explica la bandera k (aunque sí la usa en ejemplos).
Respuesta1
Sí, está un poco enterrado.en la descripción:
Cuando actúa en modo de transferencia,
apachectl
puede tomar todos los argumentos disponibles para elhttpd
binario.apachectl [ httpd-argument ]
Así que miremoshttp
la documentaciónentonces:
-k start|restart|graceful|stop|graceful-stop
Señales
httpd
para iniciar, reiniciar o detener.
Entonces, si usas -k <option>
, simplemente pasarás a httpd
, que necesita este argumento.
Si no utiliza -k
, apache2ctl
buscará comandos que manejará él mismo, que nuevamente son los mismos que httpd
usaría.
Mirar el código fuente muestra este comportamiento, donde una case
declaración verifica si el primer argumento es uno de los comandos internos reconocidos y, finalmente (como alternativa), todo se pasa a httpd
.
case $ARGV in
start)
HTTPD ${APACHE_ARGUMENTS} -k $ARGV # <= note the -k here
# ...
stop|graceful-stop)
# ...
# ...
*)
$HTTPD ${APACHE_ARGUMENTS} $ARGV
ERROR=$?
esac
Respuesta2
Editar para agregar: Lo siento, slhck escribe más rápido que yo :D
'apache2ctl' es en realidad solo una interfaz para el ejecutable 'httpd' y se ejecuta en dos modos dependiendo de si desea que sea scriptable de inicio SysV o si desea pasar opciones al ejecutable httpd. El -k en realidad pasa a httpd.
http://httpd.apache.org/docs/2.2/programs/apachectl.html
Cuando actúa en modo de transferencia, apachectl puede tomar todos los argumentos disponibles para el binario httpd.
apachectl [httpd-argumento]
Entonces, desde la página de manual httpd,http://httpd.apache.org/docs/2.2/programs/httpd.html
-k inicio|reinicio|graciado|parada|parada elegante Indica a httpd que inicie, reinicie o detenga.