Dies ist eine alte Version des Dokuments!
macOS LaunchDaemons
Solange sie funktionieren ist alles gut, aber wehe sie gehen mal nicht…
Ich habe mehrere Systeme-Services aka LaunchDaemons laufen.
- einer steuert iTunes (Start, Stop, Weiter, Pause, Zufall)
- einer macht regelmäßig einen dyndnsupdate, den die FritzBox nicht kann
- einer schaltet die Hintergrundbeleuchtung meines iMacs an (ein LED Strip), wenn Safari in den Vollbildmodus geht - ich also was streame :)
- einer wandelt als Server Text in Sprache - TTS mit say - und liefert sie als mp3 zurück
- einer nimmt einen String entgegen und spricht den direkt über den Mac aus - macht natürlich vorher iTunes - ach, das heisst ja jetzt Musik - aus.
Das Problem ergibt sich, da die Source unter meinem Benutzer liegen, die Services aber auch laufen sollen, wenn ich nicht angemeldet bin. Bis ich macOS Big Sur 11.2.3 installiert hatte, lief alles gut. Plötzlich mag er es nicht mehr. Da habe ich dann den Besitzer auf root geändert (chown root), den 'anderen' Benutzern die Ausführung verboten (chmod o-r) die Ausgabe in Logfiles eingebaut, sicherheitshalber mittels xargs die erweiterten Dateiattribute einzeln gelöscht (xargs Datei; dann xargs -d 'einAttribut' Datei). Mittels „sudo launchctl load -w Datei“, „sudo launchctl start -w Datei“ und einem Neustart alles wieder hin bekommen.
Trotzdem es automatisch mit sudo gestartet wird, hat es nicht geklappt, dass ein script ordentlich läuft. Gut, ich hatte einen Programmierfehler in der Zeile, hätte aber vermutet, dass wenn man i einer Kommandozeile ein Date-Remote macht und sie dann wieder anlegt, dass das auch geht, wenn die Datei am Anfang nicht da ist…falsch gedacht, er bricht dann einfach ab.
Stand März 2021