launchd plist zum Intervall-Start eines Programms

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • launchd plist zum Intervall-Start eines Programms

    Hallo,

    ich verwende aktuell OneDrive um eine Sicherung meiner Bildersammlung zu erstellen. Zum Synchronisieren der Daten habe ich die OneDrive App installiert. Diese beendet sich leider alle 5 Min von selber. Vermutlich ein Bug.

    Habe mir nun nach dieser Anleitung die folgende plist gebastelt und wie beschrieben installiert.


    XML-Quellcode

    1. <?xml version="1.0" encoding="UTF-8"?>
    2. <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    3. <plist version="1.0">
    4. <dict>
    5. <key>Label</key>
    6. <string>de.bocksteger.scripts.onedrivestarter</string>
    7. <key>ProgramArguments</key>
    8. <array>
    9. <string>/Applications/OneDrive.app</string>
    10. </array>
    11. <key>StartInterval</key>
    12. <integer>300</integer>
    13. </dict>
    14. </plist>
    Alles anzeigen
    Leider ist nichts merkbar, dass die App nun starten würde.

    Muss ich noch irgendetwas machen?
    Man kann alles schaffen. Man muss es nur wollen ;)
    www.regetskcob.github.io
  • jopjip schrieb:

    Probier mal open /Applications/OneDrive.app. Wenn du nur /Applications/OneDrive.app ins Terminal eingibst passiert auch nichts. Das liegt daran, dass /Applications/OneDrive.app ein Verzeichnis ist und nicht zwangsläufig ausführbar so meine Vermutung.
    Alles klar, danke euch. Probiere ich heute Abend aus :)
    Man kann alles schaffen. Man muss es nur wollen ;)
    www.regetskcob.github.io
  • Hallo,

    habe die plist entsprechend angepasst. Bringt leider weiterhin keinen Erfolg :(

    XML-Quellcode

    1. <?xml version="1.0" encoding="UTF-8"?>
    2. <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    3. <plist version="1.0">
    4. <dict>
    5. <key>Label</key>
    6. <string>de.bocksteger.scripts.onedrivestarter</string>
    7. <key>ProgramArguments</key>
    8. <array>
    9. <string>open /Applications/OneDrive.app</string>
    10. </array>
    11. <key>StartInterval</key>
    12. <integer>300</integer>
    13. </dict>
    14. </plist>
    Alles anzeigen
    Auch das folgende Argument hilft nicht:


    Quellcode

    1. open /Applications/OneDrive.app/Contents/MacOS/OneDrive
    Man kann alles schaffen. Man muss es nur wollen ;)
    www.regetskcob.github.io
  • Hast du mal folgendes ausprobiert:
    1. <string>/Applications/OneDrive.app/Contents/MacOS/OneDrive</string> oder
    2. <string>open</string><string>/Applications/OneDrive.app</string>
    Leerzeichen in den Argumentparametern trennen keine Argumente. Die Werte werden als ein Argument behandelt.
    „Meine Komplikation hatte eine Komplikation.“
  • macmoonshine schrieb:

    Hast du mal folgendes ausprobiert:
    1. <string>/Applications/OneDrive.app/Contents/MacOS/OneDrive</string> oder
    2. <string>open</string><string>/Applications/OneDrive.app</string>
    Leerzeichen in den Argumentparametern trennen keine Argumente. Die Werte werden als ein Argument behandelt.

    manoh schrieb:

    DanielBocksteger95 schrieb:

    Was würdest du mir raten?
    Manpage lesen. Macht man vielleicht viel zu selten... Jedenfalls steht hier drinnen was der/die/das Key ProgramArguments erwartet. Auch wenn es nur ein verweis ist.
    Danke euch beiden! Nun läuft es.

    XML-Quellcode

    1. <?xml version="1.0" encoding="UTF-8"?>
    2. <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    3. <plist version="1.0">
    4. <dict>
    5. <key>Label</key>
    6. <string>de.bocksteger.scripts.onedrivestarter</string>
    7. <key>ProgramArguments</key>
    8. <array>
    9. <string>/usr/bin/open</string>
    10. <string>-W</string>
    11. <string>/Applications/OneDrive.app</string>
    12. </array>
    13. <key>StartInterval</key>
    14. <integer>180</integer>
    15. </dict>
    16. </plist>
    Alles anzeigen
    Man kann alles schaffen. Man muss es nur wollen ;)
    www.regetskcob.github.io
  • Braucht man das Flag -W? - Habe bis jetzt sehr wenig mit launchd gemacht und darum etwas quergelesen. -W bedeutet ja nichts anders, das open blockiert und wartet bis das Geöffnete zurückkehrt. Beim Überfliegen der Keys bin ich auf ExitTimeOut gestoßen, das nach 20s ein SIGKILL schickt (default). Funktioniert das schon, wenn Du Bilder synchronisieren möchtest, oder schluckt die OneDrive App das Signal?

    StartInterval von 180s, also drei Minuten, kommt mir auch etwas kurz vor. Was passiert eigentlich, wenn der Aufruf zuvor sich noch nicht beendet hat? - Läuft das dann zweimal, startet das kein zweites mal, ... ???
  • manoh schrieb:

    Braucht man das Flag -W? - Habe bis jetzt sehr wenig mit launchd gemacht und darum etwas quergelesen. -W bedeutet ja nichts anders, das open blockiert und wartet bis das Geöffnete zurückkehrt. Beim Überfliegen der Keys bin ich auf ExitTimeOut gestoßen, das nach 20s ein SIGKILL schickt (default). Funktioniert das schon, wenn Du Bilder synchronisieren möchtest, oder schluckt die OneDrive App das Signal?

    StartInterval von 180s, also drei Minuten, kommt mir auch etwas kurz vor. Was passiert eigentlich, wenn der Aufruf zuvor sich noch nicht beendet hat? - Läuft das dann zweimal, startet das kein zweites mal, ... ???
    Hi Manoh,

    ich hatte Anfang auch das -W weggelassen, da ging es aber noch nicht beim ab- und wieder anmelden des Users. Mit dem -W klappte es dann.

    180s sind sich nicht viel, für meinen Fall, in dem das Programm alle spätestens 2 Minuten weg war, passte das perfekt. Mittlerweile ist alles synchronisiert und ich bin zufrieden :D der Daemon ist wieder entfernt. :)
    Man kann alles schaffen. Man muss es nur wollen ;)
    www.regetskcob.github.io