Відповіді:
Так, це трохи поховано в описі :
Діючи в режимі пропускання,
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 для запуску, перезапуску чи зупинки.