Antworten:
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
.
-w
: sudo launchctl -w unload ...
. Wenn es nicht hilft, können Sie die Ausgabe von posten ps -ef|grep httpd|grep -v grep
?
-w
vorher das gleiche Ergebnis versucht . Hier ist die Ausgabe: pastebin.com/h14t8fEv
sudo launchctl1 ...
eine Fehlermeldung zurück? Könnten Sie die Ausgabe von grep apache /var/log/com.apple.launchd/launchd-shutdown.system.log
und posten sudo grep apache /var/log/system.log
?
sudo: launchctl1: command not found
und hier ist die Ausgabe: pastebin.com/raw.php?i=zxKvYV4i
sudo apachectl start
den Start-Daemon starte, scheint er nach dem Neustart wieder aktiviert zu sein.