2012-05-08 5 views
11

Soy nuevo en Mac OS X world pero tengo habilidades en Windows dev.Mac OS X daemon usando Objective-C - launchd

Necesito desarrollar un daemon (en Windows será el servicio de Windows) que cargue/descargue archivos de un servicio web.

Mi pregunta es: ¿es posible crear una aplicación escrita en Objective-C que será el daemon (cargar/descargar) y ejecutarla cuando el sistema operativo comience a usar launchd? ¿O hay otra forma de crear un daemon?

que

Respuesta

4

Gracias En OS X estos servicios se denominan LaunchDaemon (en todo el sistema) y LaunchAgent (específico del usuario). Usted crea una configuración que le dice al sistema cuándo comenzar, qué ejecutable ejecutar, qué hacer con stdin, stdout y stderr, qué argumentos pasar, y así sucesivamente. Echar un vistazo a estas páginas man:

launchd(8)  # the service controlling other services 
launchctl(1)  # the command to control services 
launchd.plist(5) # the configuration format for services 

El demonio puede ser escrito en cualquier lenguaje que se ejecuta en OS X. Así Objective-C es una opción típica para la plataforma Mac, pero nada más de Ruby, Python, y Perl sobre AppleScript a simple C o C++ haría.

Y no, no hay otra manera (recomendada) de hacerlo en la Mac. init.d -Las secuencias de comandos de estilo no funcionan en la Mac [o en Darwin, es la capa de UNIX]. O, más precisamente, no existe la infraestructura que los ejecuta.

Para obtener más información, vea el Daemons and Services Programming Guide.

+0

Énfasis: *** puede *** estar escrito en cualquier idioma. ¡No debería usar Obj-C para un LaunchDaemon o un LaunchAgent de nivel de sistema debido a los hacks de InputManager! – Richard