Como reiniciar um serviço launchd automaticamente se ele sair com 78 código de saída

1

Estou carregando um binário c usando o serviço launchd. Deve ser relançado sempre que o sistema for reiniciado. Abaixo está meu arquivo plist:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.example</string>
<key>ProgramArguments</key>
<array>
    <string>/etc/example/usr/sbin/example_cbinary</string>
</array>
<key>RunAtLoad</key>
    <true/>
<key>KeepAlive</key>
<true/>
</dict>
</plist>

Algumas vezes, ele sai com o código de saída 78.

launchctl list | grep example
-   78  com.example

Não consigo encontrar a causa raiz para isso. Como isso acontece uma vez em cem vezes. Para resolver isso, estou descarregando e carregando este serviço. Eu queria que ele descarregasse e carregasse automaticamente sempre que saísse com 78 status.

Qualquer ajuda é altamente apreciável

Obrigado em Adavance

    
por Lalitha Syamaleswari ch 30.06.2017 / 12:05

0 respostas