Ответы:
Да, это немного скрыто в описании :
Действуя в сквозном режиме,
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 о запуске, перезапуске или остановке.