Ответы:
Да, это немного скрыто в описании :
Действуя в сквозном режиме,
apachectlможет принимать все аргументы, доступные дляhttpdдвоичного файла.apachectl [ httpd-argument ]
Итак, давайте посмотрим на httpдокументацию тогда:
-k start|restart|graceful|stop|graceful-stopСигналы
httpdдля запуска, перезапуска или остановки.
Так что, если вы используете -k <option>, вы просто перейдете к httpd, который нуждается в этом аргументе.
Если вы не используете -k, apache2ctlвместо этого будет искать команды, которые он будет обрабатывать сам, которые снова httpdбудут такими же, как и при выполнении.
При взгляде на исходный код проявляется такое поведение, когда caseоператор проверяет, является ли первый аргумент одной из распознанных внутренних команд, и, наконец, (как запасной вариант) все передается httpd.
case $ARGV in
start)
HTTPD ${APACHE_ARGUMENTS} -k $ARGV # <= note the -k here
# ...
stop|graceful-stop)
# ...
# ...
*)
$HTTPD ${APACHE_ARGUMENTS} $ARGV
ERROR=$?
esac
-k, то apachectlбудете обрабатывать сами команды, но он делает то же самое, что и httpd. Если вы используете -k, команда передается httpdкак есть.
Изменить, чтобы добавить: Извините, slhck печатает быстрее меня: D
«apache2ctl» на самом деле является лишь внешним интерфейсом для исполняемого файла «httpd» и работает в двух режимах, в зависимости от того, хотите ли вы, чтобы он был сценарием инициализации SysV, или если вы хотите передать опции для исполняемого файла httpd. -K фактически передается через httpd.
http://httpd.apache.org/docs/2.2/programs/apachectl.html
При работе в сквозном режиме apachectl может принимать все аргументы, доступные для двоичного файла httpd.
apachectl [httpd-аргумент]
Итак, со страницы руководства httpd http://httpd.apache.org/docs/2.2/programs/httpd.html
-k start | restart | graceful | stop | graceful-stop Сигнализирует httpd о запуске, перезапуске или остановке.