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,
apachectlpuede tomar todos los argumentos disponibles para elhttpdbinario.apachectl [ httpd-argument ]
Entonces veamos la httpdocumentación de entonces:
-k start|restart|graceful|stop|graceful-stopSeñales
httpdpara iniciar, reiniciar o detener.
Entonces, si usa -k <option>, simplemente pasará a httpd, que necesita este argumento.
Si no usa el -k, en apache2ctlsu lugar, buscará los comandos que manejará por sí mismo, que nuevamente son los mismos httpdque tomaría.
Al observar el código fuente se exhibe este comportamiento, donde una casedeclaració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,apachectlmanejará los comandos en sí, pero hace lo mismo quehttpd. Si lo usa-k, el comando se pasa ahttpdcomo 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