¿Qué es el indicador apache2ctl "-k"?

¿Qué es el indicador apache2ctl "-k"?

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, apachectlpuede tomar todos los argumentos disponibles para el httpdbinario.

apachectl [ httpd-argument ]

Así que miremoshttpla documentaciónentonces:

-k start|restart|graceful|stop|graceful-stop

Señales httpdpara iniciar, reiniciar o detener.

Entonces, si usas -k <option>, simplemente pasarás a httpd, que necesita este argumento.

Si no utiliza -k, apache2ctlbuscará comandos que manejará él mismo, que nuevamente son los mismos que httpdusaría.


Mirar el código fuente muestra este comportamiento, donde una casedeclaració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.

información relacionada