Apache自動起動を無効にする


17

私は10.9の新規インストールであり、デフォルトのApacheサーバーはorg.apache.httpd: Already loaded各起動後にあります。その自動起動を無効にする方法はありますか?

回答:


27

OS Xはlaunchctl、起動時にどのデーモンを開始するかを制御します。

Apacheを停止して無効にするには:

  1. ターミナルを開く
  2. 次のコマンドを入力します(sudo要求時にログインパスワードを入力します)。

    sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist
    

launchctl-wオプションに関するいくつかの言葉

この-wオプションは、Apacheを停止/無効にするための特効薬です。以下にlaunchctl説明されているように、サービスをアンロードできないようにする構成設定に関係なく、ジョブを実行するように指示しますman launchctl

-w       Overrides the Disabled key and sets it to false or true for the load and
         unload subcommands respectively. In previous versions, this option would
         modify the configuration file. Now the state of the Disabled key is stored
         elsewhere on- disk in a location that may not be directly manipulated by any
         process other than launchd.

(OS X Mavericks(10.9)では、「ディスク上の他の場所」が/private/var/db/launchd.db/com.apple.launchd/overrides.plist

このスーパーユーザーの回答で説明さているように-w Apacheをapachectl start以下で起動した場合、このオプションは不可欠です。Apacheを起動するだけでなく、次のように変更します。apachectl/private/var/db/launchd.db/com.apple.launchd/overrides.plist

<key>org.apache.httpd</key>
<dict>
        <key>Disabled</key>
        <false/>
</dict>

この特定のケースでは、以下も使用できますapachectl

sudo apachectl stop

Apacheを停止し、に設定Disabledtrueます。


私はそれを試しましたが、sudo apachectl start起動デーモンを実行するたびに、再起動後に再びアクティブ化されるようです。
ティル

で試してみてください-wsudo launchctl -w unload ...。それでも解決しない場合は、の出力を投稿してもらえますps -ef|grep httpd|grep -v grepか?
ジャウメ14

-w前に試しましたが、同じ結果です。ここでは、出力は次のようになります。pastebin.com/h14t8fEv
ティル

おかげでsudo launchctl1 ...、エラーメッセージが返されますか?grep apache /var/log/com.apple.launchd/launchd-shutdown.system.logand の出力を投稿できますsudo grep apache /var/log/system.logか?
ジャウメ14

はい:sudo: launchctl1: command not foundここに出力されます:pastebin.com/raw.php?i=zxKvYV4i
ティル
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.