3 votes

Les exécutables sous OS X doivent-ils être construits de manière spécifique pour être utilisés comme un service ?

Un exécutable OS X doit-il être construit de manière spécifique (par exemple, pas d'interface utilisateur, implémentation de certaines interfaces) pour pouvoir être utilisé comme un service ? Cela varie-t-il en fonction de son langage (par exemple, Objective C, Java) ou de son implémentation (compilé versus script) ?

2voto

Graham Miln Points 39606

Sous MacOS, un exécutable peut être lancé comme un service ou une application. presque quelle que soit la manière dont elle est créée.

La question à poser est la suivante , Le processus nécessite-t-il un accès au WindowServer ? Le WindowServer est nécessaire pour fournir une interface graphique.

Interface utilisateur graphique et sessions utilisateur

Un processus nécessitant une interface utilisateur graphique peut être utilisé comme processus ou service d'arrière-plan. Pour ce faire, lancez le processus avec launchd de la /Library/LaunchAgents dossier.

Pour présenter une interface utilisateur graphique, le processus doit être lancé dans une session utilisateur. Dans launchd Cela signifie que dans une Aqua l'environnement.

Un exemple de ceci serait la fonction de Power Manager. pmuser processus. Ce processus gère les tâches propres à l'utilisateur et traite les tâches que l'ordinateur large pmd ne peut pas effectuer directement le processus.

Procédés à l'échelle de l'ordinateur

Un processus qui ne nécessite pas d'interface utilisateur peut être lancé comme un service d'arrière-plan avec launchd de la /Library/LaunchDaemons dossier.

Un processus non graphique peut exister en dehors de toute session utilisateur et donc fonctionner même lorsque personne n'est connecté.

Un processus large d'ordinateur ne peut pas accéder à une grande partie des fonctionnalités uniques de MacOS. Voir la TechNote 2083 d'Apple et le document Vivre dangereusement section.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X