Deaktivieren Sie den Apache-Autostart

17

Ich bin auf einer neuen 10.9-Installation und der Standard-Apache-Server befindet sich org.apache.httpd: Already loadednach jedem Start. Gibt es eine Möglichkeit, diesen Autostart zu deaktivieren?

Bis
quelle

Antworten:

27

Mit OS X können Sie launchctlsteuern, welche Daemons beim Booten gestartet werden.

So stoppen und deaktivieren Sie Apache:

  1. Öffnen Sie das Terminal
  2. Geben Sie den folgenden Befehl ein (geben Sie Ihr Anmeldekennwort ein, wenn Sie es sudoanfordern):

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

Ein paar Worte über launchctl‚s - -wOption

Die -wOption ist der Königsweg zum Stoppen / Deaktivieren von Apache. Es wird angewiesen launchctl, seine Arbeit unabhängig von Konfigurationseinstellungen auszuführen, die andernfalls das Entladen des Dienstes verhindern würden, wie in den man launchctlfolgenden Abschnitten erläutert :

-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.

(Es stellt sich heraus, dass in OS X Mavericks (10.9) "anderswo auf der Festplatte" ist /private/var/db/launchd.db/com.apple.launchd/overrides.plist.)

Die -wOption ist unverzichtbar , wenn Sie Apache gestartet mit apachectl start: wie erklärt in dieser Superuser - Antwort . apachectlstartet nicht nur Apache, sondern ändert sich auch /private/var/db/launchd.db/com.apple.launchd/overrides.plistso:

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

In diesem speziellen Fall können Sie auch Folgendes verwenden apachectl:

sudo apachectl stop

um Apache zu stoppen und Disabledauf true.

jaume
quelle
Ich habe das versucht, aber jedes Mal, wenn ich sudo apachectl startden Start-Daemon starte, scheint er nach dem Neustart wieder aktiviert zu sein.
Bis zum
Versuchen Sie, mit -w: sudo launchctl -w unload .... Wenn es nicht hilft, können Sie die Ausgabe von posten ps -ef|grep httpd|grep -v grep?
Jaume
Ich habe -wvorher das gleiche Ergebnis versucht . Hier ist die Ausgabe: pastebin.com/h14t8fEv
Bis zum
Danke, gibt sudo launchctl1 ...eine Fehlermeldung zurück? Könnten Sie die Ausgabe von grep apache /var/log/com.apple.launchd/launchd-shutdown.system.logund posten sudo grep apache /var/log/system.log?
Jaume
Ja: sudo: launchctl1: command not foundund hier ist die Ausgabe: pastebin.com/raw.php?i=zxKvYV4i
Bis