Ich bin auf einer neuen 10.9-Installation und der Standard-Apache-Server befindet sich org.apache.httpd: Already loaded
nach jedem Start. Gibt es eine Möglichkeit, diesen Autostart zu deaktivieren?
Mit OS X können Sie launchctl
steuern, welche Daemons beim Booten gestartet werden.
So stoppen und deaktivieren Sie Apache:
Geben Sie den folgenden Befehl ein (geben Sie Ihr Anmeldekennwort ein, wenn Sie es sudo
anfordern):
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist
Ein paar Worte über launchctl
‚s - -w
Option
Die -w
Option 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 launchctl
folgenden 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 -w
Option ist unverzichtbar , wenn Sie Apache gestartet mit apachectl start
: wie erklärt in dieser Superuser - Antwort . apachectl
startet nicht nur Apache, sondern ändert sich auch /private/var/db/launchd.db/com.apple.launchd/overrides.plist
so:
<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 Disabled
auf true
.
sudo apachectl start
den Start-Daemon starte, scheint er nach dem Neustart wieder aktiviert zu sein.-w
:sudo launchctl -w unload ...
. Wenn es nicht hilft, können Sie die Ausgabe von postenps -ef|grep httpd|grep -v grep
?-w
vorher das gleiche Ergebnis versucht . Hier ist die Ausgabe: pastebin.com/h14t8fEvsudo launchctl1 ...
eine Fehlermeldung zurück? Könnten Sie die Ausgabe vongrep apache /var/log/com.apple.launchd/launchd-shutdown.system.log
und postensudo grep apache /var/log/system.log
?sudo: launchctl1: command not found
und hier ist die Ausgabe: pastebin.com/raw.php?i=zxKvYV4i