Estoy en una instalación fresca de 10.9 y el servidor Apache por defecto es org.apache.httpd: Already loaded
después de cada inicio. ¿Hay alguna forma de desactivar ese arranque automático?
Respuesta
¿Demasiados anuncios?OS X ofrece launchctl
para controlar qué demonios se inician en el momento del arranque.
Para detener y desactivar Apache:
- Abrir Terminal
-
Escriba el siguiente comando (escriba su contraseña de acceso cuando
sudo
lo solicita):sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist
Algunas palabras sobre launchctl
's -w
opción
El -w
es la bala de plata para detener/desactivar Apache. Le dice a launchctl
para que haga su trabajo independientemente de cualquier ajuste de configuración que le impida descargar el servicio, como se explica en 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.
(Resulta que, en OS X Mavericks (10.9), "en otro lugar del disco" es /private/var/db/launchd.db/com.apple.launchd/overrides.plist
.)
El -w
es indispensable si ha iniciado Apache con apachectl start
como se ha explicado en esta respuesta del Superusuario . apachectl
no sólo inicia Apache sino que también modifica /private/var/db/launchd.db/com.apple.launchd/overrides.plist
así:
<key>org.apache.httpd</key>
<dict>
<key>Disabled</key>
<false/>
</dict>
En este caso concreto también se puede utilizar apachectl
:
sudo apachectl stop
para detener Apache y establecer Disabled
a true
.