Qual é o sinalizador "-k" do Apache2ctl?

Qual é o sinalizador "-k" do Apache2ctl?

Estou pesquisando há uma hora e encontrei centenas de exemplos que o utilizam, mas nenhuma explicação do que faz. Eu verifiquei man apache2ctl; também não explica o sinalizador k (embora o use em exemplos).

Responder1

Sim, está um pouco enterradona descrição:

Ao atuar no modo pass-through, apachectlpode receber todos os argumentos disponíveis para o httpdbinário.

apachectl [ httpd-argument ]

Então vamos dar uma olhadahttpdocumentaçãoentão:

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

Sinais httpdpara iniciar, reiniciar ou parar.

Então se você usar -k <option>, você simplesmente passará para httpd, que precisa desse argumento.

Se você não usar o -k, apache2ctlirá procurar por comandos que ele mesmo irá manipular, que são novamente os mesmos que httpdseriam necessários.


Observar o código-fonte exibe esse comportamento, onde uma caseinstrução verifica se o primeiro argumento é um dos comandos internos reconhecidos e, finalmente (como alternativa), tudo é passado para httpd.

case $ARGV in
start)
  HTTPD ${APACHE_ARGUMENTS} -k $ARGV # <= note the -k here
  # ...
stop|graceful-stop)
  # ...
# ...
*)
    $HTTPD ${APACHE_ARGUMENTS} $ARGV
    ERROR=$?
esac

Responder2

Editar para adicionar: Desculpe, o slhck digita mais rápido que eu: D

'apache2ctl' é na verdade apenas um front-end para o executável 'httpd' e é executado em dois modos, dependendo se você deseja que ele seja script de inicialização SysV ou se deseja passar opções para o executável httpd. O -k na verdade é passado para o httpd.

http://httpd.apache.org/docs/2.2/programs/apachectl.html

Ao atuar no modo pass-through, o apachectl pode receber todos os argumentos disponíveis para o binário httpd.

apachectl [argumento httpd]

Então, na página de manual do httpd,http://httpd.apache.org/docs/2.2/programs/httpd.html

-k start|restart|graceful|stop|graceful-stop Sinaliza httpd para iniciar, reiniciar ou parar.

informação relacionada