回答:
パススルーモードで
apachectl動作する場合、httpdバイナリで使用可能なすべての引数を使用できます。apachectl [ httpd-argument ]
それでは、httpドキュメントを見てみましょう。
-k start|restart|graceful|stop|graceful-stop
httpd開始、再起動、または停止するためのシグナル。
そのため-k <option>、を使用する場合、httpdこの引数が必要なに単純に渡されます。
あなたが使用していない場合は-k、apache2ctl代わりに再び同じです、それは自分自身を処理するコマンドを探しますhttpdかかるだろう。
ソースコードを見ると、この動作が見られます。caseステートメントは、最初の引数が認識された内部コマンドの1つであるかどうかをチェックし、最後に(フォールバックとして)すべてが渡され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ます。
追加して編集:申し訳ありませんが、shlckは私よりも速く入力できます:D
「apache2ctl」は、実際には「httpd」実行可能ファイルの単なるフロントエンドであり、SysV initスクリプト可能にするか、httpd実行可能ファイルにパススルーオプションを渡すかによって、2つのモードで実行されます。-kは実際にはhttpdに渡されます。
http://httpd.apache.org/docs/2.2/programs/apachectl.html
パススルーモードで動作している場合、apachectlはhttpdバイナリで使用可能なすべての引数を取ることができます。
apachectl [httpd-argument]
そのため、httpdのmanページからhttp://httpd.apache.org/docs/2.2/programs/httpd.html
-k start | restart | graceful | stop | graceful-stop httpdに起動、再起動、または停止を通知します。