apache2ctl の「-k」フラグとは何ですか?

apache2ctl の「-k」フラグとは何ですか?

1 時間検索して、それを使用する例を 100 件見つけましたが、それが何をするのかについての説明はありませんでした。確認しましたがman apache2ctl、k フラグについても説明されていません (ただし、例では使用されています)。

答え1

うん、ちょっと埋もれてる説明文に:

パススルー モードで動作する場合、バイナリapachectlに使用可能なすべての引数を取ることができますhttpd

apachectl [ httpd-argument ]

それでは見てみましょうhttpのドキュメントそれから:

-k start|restart|graceful|stop|graceful-stop

httpd開始、再開、または停止の信号。

したがって、 を使用する場合は-k <option>、 に渡すだけで済みますhttpdが、この引数が必要になります。

を使用しない場合-kapache2ctlは代わりに、 が処理するコマンドを探します。これは、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 に起動、再起動、または停止を通知します。

関連情報