3 votos

¿Los ejecutables en OS X tienen que ser construidos de manera específica para ser utilizados como un servicio?

¿Es necesario que un ejecutable de OS X se construya de manera específica (por ejemplo, sin interfaz de usuario, implementando ciertas interfaces) para que pueda ser utilizado como un servicio? ¿Varía esto según su lenguaje (por ejemplo, Objective C, Java) o su implementación (compilado frente a script)?

2voto

Steve Evans Puntos 155

Un ejecutable en MacOS puede ejecutarse como un servicio o una aplicación casi independientemente de cómo se cree.

La pregunta que hay que hacerse es, ¿el proceso requiere acceso al WindowServer? El WindowServer es necesario para proporcionar una interfaz gráfica.

Interfaz gráfica de usuario y sesiones de usuario

Un proceso que requiere una interfaz gráfica de usuario puede utilizarse como proceso o servicio de fondo. Para ello, inicie el proceso con launchd de la /Library/LaunchAgents carpeta.

Para presentar una interfaz gráfica de usuario, el proceso debe iniciarse dentro de una sesión de usuario. En launchd términos, esto significa que dentro de un Aqua ambiente.

Un ejemplo de ello sería el programa Power Manager pmuser proceso. Este proceso gestiona las tareas específicas del usuario y se encarga de las tareas que el ordenador amplia pmd proceso no puede realizar directamente.

Procesos informáticos amplios

Un proceso que no requiere una interfaz de usuario puede ser lanzado como un servicio de fondo con launchd de la /Library/LaunchDaemons carpeta.

Un proceso no gráfico puede existir fuera de cualquier sesión de usuario y, por tanto, ejecutarse incluso cuando no hay nadie conectado.

Un proceso amplio del ordenador no puede acceder a gran parte de la funcionalidad exclusiva de MacOS. Véase la nota técnica 2083 de Apple y el Vivir peligrosamente sección.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X