Sono in una nuova installazione di 10.9 e il server Apache predefinito è org.apache.httpd: Already loaded
dopo ogni avvio. C'è un modo per disabilitare quell'autostart?
OS X fornisce launchctl
per controllare quali daemon vengono avviati al momento dell'avvio.
Per interrompere e disabilitare Apache:
Digitare il seguente comando (digitare la password di accesso quando sudo
lo richiede):
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist
Alcune parole sull'opzione launchctl
di -w
L'opzione -w
è la pallottola d'argento per fermare / disabilitare Apache. Indica a launchctl
di eseguire il proprio lavoro indipendentemente dalle impostazioni di configurazione che altrimenti impedirebbero di scaricare il servizio, come spiegato in 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.
(Si scopre che, in OS X Mavericks (10.9), "altrove su disco" è /private/var/db/launchd.db/com.apple.launchd/overrides.plist
.)
L'opzione -w
è indispensabile se hai avviato Apache con apachectl start
: come spiegato in questa risposta di Superuser . apachectl
non solo avvia Apache, ma modifica anche /private/var/db/launchd.db/com.apple.launchd/overrides.plist
in questo modo:
<key>org.apache.httpd</key>
<dict>
<key>Disabled</key>
<false/>
</dict>
In questo caso particolare puoi anche utilizzare apachectl
:
sudo apachectl stop
per arrestare Apache e per impostare Disabled
su true
.