Respostas:
O OS X fornece launchctl
para controlar quais daemons são iniciados no momento da inicialização.
Para parar e desativar o Apache:
Digite o seguinte comando (digite sua senha de login quando sudo
solicitada):
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist
Algumas palavras sobre launchctl
a -w
opção
A -w
opção é o marcador de prata para parar / desativar o Apache. Ele diz launchctl
para fazer seu trabalho, independentemente de quaisquer definições de configuração que de outra forma impediriam o descarregamento do serviço, conforme explicado em 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.
(Acontece que, no OS X Mavericks (10.9), "em outro lugar do disco" é /private/var/db/launchd.db/com.apple.launchd/overrides.plist
).
A -w
opção é indispensável se você iniciou o Apache com apachectl start
: conforme explicado nesta resposta do superusuário . apachectl
não só inicia o Apache, mas também modifica /private/var/db/launchd.db/com.apple.launchd/overrides.plist
assim:
<key>org.apache.httpd</key>
<dict>
<key>Disabled</key>
<false/>
</dict>
Nesse caso específico, você também pode usar apachectl
:
sudo apachectl stop
para parar o Apache e definir Disabled
como true
.
-w
: sudo launchctl -w unload ...
. Se isso não ajudar, você poderia postar a saída de ps -ef|grep httpd|grep -v grep
?
-w
antes, mesmo resultado. Aqui está a saída: pastebin.com/h14t8fEv
sudo launchctl1 ...
retorna uma mensagem de erro? Você poderia postar a saída de grep apache /var/log/com.apple.launchd/launchd-shutdown.system.log
e sudo grep apache /var/log/system.log
?
sudo: launchctl1: command not found
e aqui está a saída: pastebin.com/raw.php?i=zxKvYV4i
sudo apachectl start
o daemon de inicialização parece ser ativado novamente após a reinicialização.