Launchd bietet eine elegante Lösung. Folgende Property List startet und überwacht Teamdrive, bei Beendigung startet es dieses neu:
- Code: Select all
<?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>SuccessfulExit</key>
<true/>
</dict>
<key>Label</key>
<string>test.teamdrive</string>
<key>ProgramArguments</key>
<array>
<string>/Applications/TeamDrive.app/Contents/MacOS/TeamDrive</string>
</array>
</dict>
</plist>
Das Problem ist, dass Teamdrive beim Start die Fehlermeldung ausgibt, dass es seine Datenbank nicht finden kann und bricht ab. Wenn es normal über die GUI gestartet wird, ist alles ok.
Wie kann man Teamdrive auch über den Launchd starten?