Estou procurando há uma hora e encontrei centenas de exemplos que o usam, mas nenhuma explicação do que ele faz. Eu verifiquei man apache2ctl
; também não explica o sinalizador k (embora ele o use em exemplos).
fonte
Estou procurando há uma hora e encontrei centenas de exemplos que o usam, mas nenhuma explicação do que ele faz. Eu verifiquei man apache2ctl
; também não explica o sinalizador k (embora ele o use em exemplos).
Sim, está um pouco enterrado na descrição :
Ao atuar no modo de passagem,
apachectl
pode levar todos os argumentos disponíveis para ohttpd
binário.apachectl [ httpd-argument ]
Então, vamos dar uma olhada na http
documentação de :
-k start|restart|graceful|stop|graceful-stop
Sinais
httpd
para iniciar, reiniciar ou parar.
Então, se você usar -k <option>
, simplesmente passará para httpd
, que precisa desse argumento.
Se você não usar o -k
, apache2ctl
procurará por comandos que ele próprio 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 um fallback), tudo é repassado httpd
.
case $ARGV in
start)
HTTPD ${APACHE_ARGUMENTS} -k $ARGV # <= note the -k here
# ...
stop|graceful-stop)
# ...
# ...
*)
$HTTPD ${APACHE_ARGUMENTS} $ARGV
ERROR=$?
esac
-k
, eleapachectl
manipulará os comandos em si, mas fará o mesmo quehttpd
. Se você usar-k
, o comando será passado para o estado emhttpd
que se encontra.Editar para adicionar: Desculpe, tipos slhck 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 do SysV init ou se deseja passar opções de passagem para o executável httpd. Na verdade, o -k é passado para o httpd.
http://httpd.apache.org/docs/2.2/programs/apachectl.html
Portanto, na página de manual httpd, http://httpd.apache.org/docs/2.2/programs/httpd.html
fonte