Laut dem Launchd-Tutorial gibt es zwei Orte, an denen sich ein Daemon befinden kann.
/Library/LaunchDaemons
/System/Library/LaunchDaemons
Was ist der Unterschied zwischen ihnen? Beide scheinen die gleiche Aufgabe zu erledigen, indem sie beim Start ein Programm im Auftrag von ausführen root
.
BEARBEITEN:
Mit Unterschied meine ich den Unterschied in der Funktion. Ich weiß, dass der System-Daemon von Apple und global von Anbietern stammt, aber ich möchte wissen, ob es einen Unterschied in der Funktion gibt.
Einmal ausgeführt, gibt es keinen Unterschied zwischen den Standorten. Der Ursprung des launchd-Jobs bestimmt die Autorisierung, die zum Verwalten des Jobs erforderlich ist.
Sowohl /Library
als auch /System
launchd-Jobs können von jedem Benutzer ausgeführt werden. Pro-Benutzer-Jobs sind auf den Benutzer und die Gruppe ihres Besitzers beschränkt.
Die Bearbeitung der launchd-Jobs wird durch den Systemintegritätsschutz/System
eingeschränkt .
Von man 5 launchd.plist
:
~/Library/LaunchAgents
Vom Benutzer bereitgestellte Benutzeragenten./Library/LaunchAgents
Vom Administrator bereitgestellte Benutzeragenten./Library/LaunchDaemons
Vom Administrator bereitgestellte systemweite Daemons./System/Library/LaunchAgents
Von OS X bereitgestellte Benutzeragenten./System/Library/LaunchDaemons
Systemweite Daemons, die von OS X bereitgestellt werden.
System-Daemons werden vom Anbieter bereitgestellt – Apple, und globale Daemons werden vom Administrator bereitgestellt – SIE.
Andreas