Respostas:
Sim, está um pouco enterrado na descrição :
Ao atuar no modo de passagem,
apachectlpode levar todos os argumentos disponíveis para ohttpdbinário.apachectl [ httpd-argument ]
Então, vamos dar uma olhada na httpdocumentação de :
-k start|restart|graceful|stop|graceful-stopSinais
httpdpara 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, apache2ctlprocurará por comandos que ele próprio 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 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, ele apachectlmanipulará os comandos em si, mas fará o mesmo que httpd. Se você usar -k, o comando será passado para o estado em httpdque 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
Ao atuar no modo de passagem, o apachectl pode usar todos os argumentos disponíveis para o binário httpd.
apachectl [argumento httpd]
Portanto, na página de manual 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.