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,
apachectl
pode receber todos os argumentos disponíveis para ohttpd
binário.apachectl [ httpd-argument ]
Então vamos dar uma olhadahttp
documentaçãoentão:
-k start|restart|graceful|stop|graceful-stop
Sinais
httpd
para 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
, apache2ctl
irá procurar por comandos que ele mesmo irá manipular, que são novamente os mesmos que httpd
seriam necessários.
Observar o código-fonte exibe esse comportamento, onde uma case
instruçã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.