Szukałem od godziny i znalazłem sto przykładów, które go wykorzystują, ale nie wyjaśniłem, co robi. Sprawdziłem man apache2ctl
; nie wyjaśnia też flagi k (choć używa jej w przykładach).
źródło
Szukałem od godziny i znalazłem sto przykładów, które go wykorzystują, ale nie wyjaśniłem, co robi. Sprawdziłem man apache2ctl
; nie wyjaśnia też flagi k (choć używa jej w przykładach).
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
, toapachectl
obsłuży same polecenia, ale robi to samo cohttpd
. Jeśli używasz-k
, polecenie jest przekazywane w stanie, whttpd
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
Więc ze strony podręcznika httpd http://httpd.apache.org/docs/2.2/programs/httpd.html
źródło