Jawaban:
Ya, itu sedikit terkubur dalam deskripsi :
Ketika bertindak dalam mode pass-through,
apachectldapat mengambil semua argumen yang tersedia untukhttpdbiner.apachectl [ httpd-argument ]
Jadi mari kita lihat httpdokumentasi lalu:
-k start|restart|graceful|stop|graceful-stopSinyal
httpduntuk 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, apache2ctlalih-alih akan mencari perintah yang akan ditangani sendiri, yang lagi-lagi sama seperti yang httpdakan diambil.
Melihat kode sumber menunjukkan perilaku ini, di mana casepernyataan 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, maka apachectlakan menangani perintah itu sendiri, tetapi melakukan hal yang sama httpd. Jika Anda menggunakan -k, perintah diteruskan ke httpdapa 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
Saat bertindak dalam mode pass-through, apachectl dapat mengambil semua argumen yang tersedia untuk biner httpd.
apachectl [httpd-argumen]
Jadi dari halaman manual httpd, http://httpd.apache.org/docs/2.2/programs/httpd.html
-k start | restart | anggun | berhenti | anggun-stop Sinyal httpd untuk memulai, memulai kembali, atau berhenti.