Use launchd
para iniciar o Apache e execute o Apache em primeiro plano, para que launchd
possa monitorá-lo e reiniciá-lo se ele falhar. Como o sistema inclui um launchd
item ( /System/Library/LaunchDaemons/org.apache.httpd.plist
) para iniciar a versão interna do Apache, eu copiaria isso para /Library/LaunchDaemons
, altere o nome do arquivo e Label para que launchd
não os confunda , remova a chave Desativada e altere ProgramArguments
para apontar para a versão MacPorts do Apache. Lembre-se de manter os argumentos -D
e FOREGROUND
em httpd
, ou ele próprio se daemonizará e launchd
iniciará outra instância e nada útil será feito.
(E siga o conselho do @RedGrittyBrick sobre encontrar a causa real da falha. Embora launchd
seja a maneira "certa" de iniciar um daemon como o Apache no Mac OS X, é apenas um band-aid para qualquer problema do Apache está tendo.)