Sim, é um pouco enterrado na descrição :
When acting in pass-through mode,
apachectl
can take all the arguments available for thehttpd
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