Existe uma maneira de reiniciar automaticamente o Apache no Mac OS X se ele falhar?

1

Eu instalei o Apache usando MacPorts . Ele falha de vez em quando e eu preciso reiniciá-lo manualmente.

Existe uma maneira de reiniciar o Apache automaticamente se ele morrer por algum motivo? Talvez usando launchd de alguma forma?

    
por GJ. 23.02.2011 / 09:47

1 resposta

1

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.)

    
por 23.02.2011 / 20:32