apache2ctl“-k”標誌是什麼?

apache2ctl“-k”標誌是什麼?

我已經搜尋了一個小時,找到了一百個使用它的範例,但沒有解釋它的作用。我確實檢查過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語句檢查第一個參數是否是可識別的內部命令之一,最後(作為後備),所有內容都傳遞到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 可執行檔。 -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 啟動、重新啟動或停止。

相關內容