Odpowiedzi:
Tak, jest trochę zakopany w opisie :
Działając w trybie tranzytowym,
apachectl
można pobrać wszystkie argumenty dostępne dlahttpd
pliku binarnego.apachectl [ httpd-argument ]
Spójrzmy więc na http
dokumentację :
-k start|restart|graceful|stop|graceful-stop
Sygnały
httpd
do uruchomienia, ponownego uruchomienia lub zatrzymania.
Więc jeśli użyjesz -k <option>
, po prostu przejdziesz do httpd
, który potrzebuje tego argumentu.
Jeśli nie użyjesz polecenia -k
, apache2ctl
zamiast tego poszuka poleceń, które sam sobie poradzi, które są znowu takie same httpd
.
Patrząc na kod źródłowy przejawia się to zachowanie, w którym case
instrukcja sprawdza, czy pierwszy argument jest jednym z rozpoznanych poleceń wewnętrznych, a na koniec (jako rezerwowy) wszystko jest przekazywane httpd
.
case $ARGV in
start)
HTTPD ${APACHE_ARGUMENTS} -k $ARGV # <= note the -k here
# ...
stop|graceful-stop)
# ...
# ...
*)
$HTTPD ${APACHE_ARGUMENTS} $ARGV
ERROR=$?
esac
-k
, to apachectl
obsłuży same polecenia, ale robi to samo co httpd
. Jeśli używasz -k
, polecenie jest przekazywane w stanie, w httpd
jakim się znajduje.
Edytuj, aby dodać: Przepraszam, typy slhck są szybsze ode mnie: D
„apache2ctl” jest w rzeczywistości tylko nakładką na plik wykonywalny „httpd” i działa w dwóch trybach, w zależności od tego, czy chcesz, aby był skryptem inicjującym SysV, czy też chcesz przekazać opcje do pliku wykonywalnego httpd. -K faktycznie przechodzi do httpd.
http://httpd.apache.org/docs/2.2/programs/apachectl.html
Podczas działania w trybie tranzytowym apachectl może przyjmować wszystkie argumenty dostępne dla pliku binarnego httpd.
apachectl [argument httpd]
Więc ze strony podręcznika httpd http://httpd.apache.org/docs/2.2/programs/httpd.html
-k start | restart | graceful | stop | graceful-stop Sygnalizuje httpd, aby uruchomić, zrestartować lub zatrzymać.