De acuerdo con el Tutorial de Launchd , hay dos lugares donde puede estar un daemon.
/Library/LaunchDaemons
/System/Library/LaunchDaemons
¿Cuál es la diferencia entre ellos? Ambos parecen hacer la misma tarea, ejecutar un programa al inicio en nombre de root
.
EDITAR:
Por diferencia, me refiero a la diferencia en la función. Sé que el demonio del sistema proviene de Apple y global de los proveedores, pero quiero saber si hay una diferencia en la función.
Una vez que se ejecuta, no hay diferencia entre las ubicaciones. El origen del trabajo lanzado determina la autorización necesaria para administrar el trabajo.
Ambos trabajos /Library
y /System
launchd pueden ejecutarse como cualquier usuario. Los trabajos por usuario están limitados al usuario y grupo de su propietario.
La edición de los /System
trabajos de lanzamiento está restringida por System Integrity Protection .
de man 5 launchd.plist
:
~/Library/LaunchAgents
Agentes por usuario proporcionados por el usuario./Library/LaunchAgents
Agentes por usuario proporcionados por el administrador./Library/LaunchDaemons
Daemons de todo el sistema proporcionados por el administrador./System/Library/LaunchAgents
Agentes por usuario proporcionados por OS X./System/Library/LaunchDaemons
Daemons de todo el sistema proporcionados por OS X.
Los demonios del sistema los proporciona el proveedor, Apple, y los demonios globales los proporciona el administrador, USTED.
Andrés