![Что такое флаг apache2ctl "-k"?](https://rvso.com/image/1414623/%D0%A7%D1%82%D0%BE%20%D1%82%D0%B0%D0%BA%D0%BE%D0%B5%20%D1%84%D0%BB%D0%B0%D0%B3%20apache2ctl%20%22-k%22%3F.png)
Я искал час и нашел сотню примеров, которые его используют, но никаких объяснений того, что он делает. Я проверил man apache2ctl
; он также не объясняет флаг k (хотя он использует его в примерах).
решение1
Да, он немного зарыт.в описании:
При работе в сквозном режиме
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
решение2
Редактировать, чтобы добавить: Извините, 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 на запуск, перезапуск или остановку.