Відповіді:
Так, це трохи поховано в описі :
Діючи в режимі пропускання,
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 init або ви хочете передати параметри для виконання виконуваного httpd. Фактично -k передається до httpd.
http://httpd.apache.org/docs/2.2/programs/apachectl.html
Діючи в режимі проходження, apachectl може приймати всі аргументи, доступні для двійкового файлу httpd.
apachectl [httpd-аргумент]
Так, зі сторінки httpd man, http://httpd.apache.org/docs/2.2/programs/httpd.html
-k початок | перезапуск | витончений | зупинка | витончений-стоп сигналів httpd для запуску, перезапуску чи зупинки.