J'étais en train de lire un article sur l'utilisation de Bittorrent Sync sur OS X qui inclut un fichier launchd plist censé maintenir l'application en marche en cas de crash. Cependant, cela ne semble pas fonctionner, car l'application a déjà planté sans se relancer. Je cherche de l'aide pour corriger le plist.
Le plist ressemble à ceci :
KeepAlive
Crashed
SuccessfulExit
Label
sync.com.tjluoma.bittorrentsync
ProgramArguments
/usr/bin/open
-W
-a
BitTorrent Sync
RunAtLoad
La partie "astucieuse" consiste à utiliser /usr/bin/open
pour lancer l'application, avec -W
pour s'assurer que open
attende que l'application se ferme. Cependant, je pense que c'est également la raison pour laquelle cela ne fonctionne pas réellement. Si j'interprète correctement cela, l'application ne se relancera que si /usr/bin/open
plante, pas si Bittorrent Sync plante. Pour que l'approche ci-dessus fonctionne, open
devrait renvoyer un statut d'erreur si l'application qu'il a ouverte a planté (ce qui n'est pas le cas).
Je sais que je pourrais résoudre ce problème en abandonnant open
et en codant directement le chemin vers l'exécutable, par exemple /Applications/BitTorrent Sync.app/Contents/MacOS/BitTorrent Sync
. Mais y a-t-il une alternative qui ne nécessite pas un codage en dur du chemin complet ? Utiliser open
serait élégant, si cela fonctionnait.