¿Cuál es la diferencia entre un "nombre de servicio" y un "objetivo de servicio"?

27

Considere los siguientes comandos

# launchctl stop 
Usage: launchctl stop <service-name>
# launchctl stop com.apple.SomeService
# launchctl disable com.apple.SomeService
Usage: launchctl disable <service-target>

¿Cuál es la diferencia entre un objetivo de servicio y un nombre de servicio? ¿Cómo puedo conocer el objetivo de un servicio de su nombre de servicio?

cheezsteak
fuente

Respuestas:

29

Un objetivo de servicio es un nombre de servicio más un dominio de destino, que describe el contexto en el que se ejecuta el servicio, por ejemplo, si se ejecuta al inicio del sistema o cuando un usuario particular inicia sesión, etc.

La página de manual launchctl (1) describe 6 formas de formar un objetivo de servicio a partir de un nombre de servicio. Si desea deshabilitar un servicio que se ejecuta al inicio, probablemente desee uno de estos tres dependiendo de si es un servicio que se ejecuta al inicio del sistema o cuando inicia sesión:

system/[service-name]
    Targets the system domain or a service within the system domain. The system
    domain manages the root Mach bootstrap and is considered a privileged execu-
    tion context. Anyone may read or query the system domain, but root privi-
    leges are required to make modifications.

user/<uid>/[service-name]
    Targets the user domain for the given UID or a service within that domain. A
    user domain may exist independently of a logged-in user. User domains do not
    exist on iOS.

gui/<uid>/[service-name]
    Another form of the login specifier. Rather than specifying a user-login
    domain by its ASID, this specifier targets the domain based on which user it
    is associated with and is generally more convenient.

Puede encontrar el número de UID para su cuenta de usuario de esta manera:

$ id -u [your-username]
502
sengi
fuente
25
¿Hay alguna manera de pasar de la "etiqueta" o PID del servicio que se muestra launchchtl listal "objetivo del servicio" sin probar todos estos dominios posibles?
algal