1 時間検索して、それを使用する例を 100 件見つけましたが、それが何をするのかについての説明はありませんでした。確認しましたがman apache2ctl
、k フラグについても説明されていません (ただし、例では使用されています)。
答え1
うん、ちょっと埋もれてる説明文に:
パススルー モードで動作する場合、バイナリ
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
答え2
編集して追加: 申し訳ありませんが、slhck は私よりも速く入力しています :D
'apache2ctl' は実際には 'httpd' 実行可能ファイルのフロントエンドに過ぎず、SysV init スクリプト化可能にするかどうか、または httpd 実行可能ファイルにオプションを渡すかどうかに応じて 2 つのモードで実行されます。-k は実際には httpd に渡されます。
http://httpd.apache.org/docs/2.2/programs/apachectl.html
パススルー モードで動作する場合、apachectl は httpd バイナリで使用可能なすべての引数を取ることができます。
apachectl [ httpd 引数 ]
httpdのマニュアルページから、http://httpd.apache.org/docs/2.2/programs/httpd.html
-k start|restart|graceful|stop|graceful-stop は、httpd に起動、再起動、または停止を通知します。