O que é o flag apache2ctl “-k”?

10

Estou procurando há uma hora e encontrei centenas de exemplos que a usam, mas nenhuma explicação sobre o que ela faz. Eu verifiquei man apache2ctl ; também não explica a bandeira k (embora a use em exemplos).

    
por felwithe 06.07.2014 / 18:14

2 respostas

8

Sim, é um pouco enterrado na descrição :

When acting in pass-through mode, apachectl can take all the arguments available for the httpd binary.

apachectl [ httpd-argument ]

Então, vamos analisar a documentação do http então:

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

Signals httpd to start, restart, or stop.

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

Se você não usar o -k , apache2ctl procurará os comandos que ele próprio manipulará, que são novamente os mesmos que httpd usaria.

Examinar o código-fonte exibe esse comportamento, em que uma instrução case verifica se o primeiro argumento é um dos comandos internos reconhecidos e, finalmente (como um fallback), 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
    
por 06.07.2014 / 18:26
2

Editar para adicionar: Desculpe, 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ê está querendo que seja um script SysV init ou se você deseja passar as opções para o httpd executável. O -k, na verdade, é passado para o httpd.

link

When acting in pass-through mode, apachectl can take all the arguments available for the httpd binary.

apachectl [ httpd-argument ]

Então, na página do manual do httpd, link

-k start|restart|graceful|stop|graceful-stop Signals httpd to start, restart, or stop.

    
por 06.07.2014 / 18:31