Ya, itu sedikit terkubur dalam deskripsi :
Ketika bertindak dalam mode pass-through, apachectl
dapat mengambil semua argumen yang tersedia untuk httpd
biner.
apachectl [ httpd-argument ]
Jadi mari kita lihat http
dokumentasi lalu:
-k start|restart|graceful|stop|graceful-stop
Sinyal httpd
untuk memulai, memulai kembali, atau berhenti.
Jadi, jika Anda menggunakan -k <option>
, Anda hanya akan meneruskan httpd
, yang membutuhkan argumen ini.
Jika Anda tidak menggunakan -k
, apache2ctl
alih-alih akan mencari perintah yang akan ditangani sendiri, yang lagi-lagi sama seperti yang httpd
akan diambil.
Melihat kode sumber menunjukkan perilaku ini, di mana case
pernyataan memeriksa apakah argumen pertama adalah salah satu perintah internal yang diakui, dan akhirnya (sebagai fallback), semuanya diteruskan httpd
.
case $ARGV in
start)
HTTPD ${APACHE_ARGUMENTS} -k $ARGV # <= note the -k here
# ...
stop|graceful-stop)
# ...
# ...
*)
$HTTPD ${APACHE_ARGUMENTS} $ARGV
ERROR=$?
esac
-k
, makaapachectl
akan menangani perintah itu sendiri, tetapi melakukan hal yang samahttpd
. Jika Anda menggunakan-k
, perintah diteruskan kehttpd
apa adanya.Edit untuk menambahkan: Maaf, jenis slhck lebih cepat dari saya: D
'apache2ctl' sebenarnya hanya sebuah front-end untuk executable 'httpd' dan berjalan dalam dua mode tergantung pada apakah Anda ingin itu menjadi skrip init SysV atau jika Anda ingin meneruskan opsi-opsi ke executable httpd. -K sebenarnya akan diteruskan ke httpd.
http://httpd.apache.org/docs/2.2/programs/apachectl.html
Jadi dari halaman manual httpd, http://httpd.apache.org/docs/2.2/programs/httpd.html
sumber