Estaba leyendo un post sobre el uso de Bittorrent Sync en OS X que incluye un launchd plist que se supone que va a mantener la aplicación en funcionamiento en el caso de que se bloquea. No parece funcionar, a pesar de que, desde que he tenido el bloqueo de la aplicación y no relanzamiento. Estoy buscando ayuda para arreglar el plist.
El plist se parece a esto:
<?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>KeepAlive</key>
<dict>
<key>Crashed</key>
<true/>
<key>SuccessfulExit</key>
<false/>
</dict>
<key>Label</key>
<string>sync.com.tjluoma.bittorrentsync</string>
<key>ProgramArguments</key>
<array>
<string>/usr/bin/open</string>
<string>-W</string>
<string>-a</string>
<string>BitTorrent Sync</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
El "inteligente" poco es el uso de /usr/bin/open
el lanzamiento de la app, -W
para asegurarse de que open
espera a que la aplicación para salir. Pero creo que esa es la razón por la que no trabaja realmente. Si estoy leyendo este derecho, la aplicación solo va a relanzar si /usr/bin/open
se bloquea, no se si Bittorrent Sync se bloquea. Para que el enfoque anterior para el trabajo, open
tendría que devolver el estado de error si la aplicación se abre había estrellado (y esto no sucede).
Sé que podría solucionar este cayendo open
y en lugar de codificar la ruta de acceso al archivo ejecutable de la /Applications/BitTorrent Sync.app/Contents/MacOS/BitTorrent Sync
. Pero hay una alternativa que no requiere codificar la ruta completa? El uso de open
sería elegante, si funcionó.