Réponses:
OS X permet launchctl
de contrôler quels démons sont démarrés au démarrage.
Pour arrêter et désactiver Apache:
Tapez la commande suivante (tapez votre mot de passe de connexion lorsque vous le sudo
demandez):
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist
Quelques mots sur launchctl
l' -w
option de
L' -w
option est la solution miracle pour arrêter / désactiver Apache. Il indique launchctl
de faire son travail indépendamment des paramètres de configuration qui l'empêcheraient autrement de décharger le service, comme expliqué dans 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.
(Il s'avère que, dans OS X Mavericks (10.9), "ailleurs sur le disque" est /private/var/db/launchd.db/com.apple.launchd/overrides.plist
.)
L' -w
option est indispensable si vous avez démarré Apache avec apachectl start
: comme expliqué dans cette réponse de superutilisateur . apachectl
non seulement démarre Apache mais modifie également /private/var/db/launchd.db/com.apple.launchd/overrides.plist
comme ceci:
<key>org.apache.httpd</key>
<dict>
<key>Disabled</key>
<false/>
</dict>
Dans ce cas particulier, vous pouvez également utiliser apachectl
:
sudo apachectl stop
pour arrêter Apache et définir Disabled
sur true
.
-w
: sudo launchctl -w unload ...
. Si cela n'aide pas, pourriez-vous publier la sortie de ps -ef|grep httpd|grep -v grep
?
-w
avant, même résultat. Voici la sortie: pastebin.com/h14t8fEv
sudo launchctl1 ...
retourne-t-il un message d'erreur? Pourriez-vous publier la sortie de grep apache /var/log/com.apple.launchd/launchd-shutdown.system.log
et sudo grep apache /var/log/system.log
?
sudo: launchctl1: command not found
et voici la sortie: pastebin.com/raw.php?i=zxKvYV4i
sudo apachectl start
le démon de lancement semble être réactivé après le redémarrage.