Me acabo de enterar de que cron
ha sido desaprobado en Mac OS X. ¿por Qué es esto, y eventualmente ser completamente eliminado de futuras versiones?
Respuestas
¿Demasiados anuncios?Con el lanzamiento de Mac OS 10.4, launchd
fue elegido para sustituir a cron
en Mac OS. He aquí una versión en caché de la launchd página de la Apple Developer Connection en 2005. Eso explica por qué a cron
era obsoleto, así como los beneficios de la launchd
desde la perspectiva de Apple.
El resumen: launchd
fue creado no solo para reemplazar cron
pero también init
, xinetd
para un mejor rendimiento y un mejor control sobre la configuración y las tareas reales ellos mismos.
El
launchd
demonio ofrece un único, estandarizado, interfaz para cualquier y todos los programas iniciados automáticamente por el sistema. Además, los archivos de configuración que determinan cuándo ejecutar un determinado programa también puede especificar los límites de los recursos y variables de entorno, que simplifica la instalación y de seguridad para muchos programas. El mismo formato del archivo de configuración se utiliza si un trabajo está en marcha una vez en el inicio del sistema o de inicio de sesión de usuario, en la demanda a través de la red, o a intervalos.
El artículo de la wikipedia en launchd tiene un muy buen resumen, debates prolongados así como algunos vídeos y enlaces externos, para una inmersión más profunda en esta decisión por parte de Apple.
En pocas palabras, launchd
sustituye a 7 principales tareas y de una gran variedad de secuencias de comandos (inetd, init y rc y asociada a la secuencia de comandos de shell estructuras, crond, atd, watchdogd, SystemStarter) con uno mucho más potente de código abierto herramienta.
Por qué:
- más rápido
- más potente
- unificado y centralizado
- más seguro
Cuando: 29 de abril de 2005 (Cuando OS X Tiger fue lanzado a la venta)
No hay nada que impida a todos de que el uso de launchd para iniciar cron ahora en Tiger, Leopard o Snow Leopard.
Debe futuro de Apple deje de envío /usr/sbin/cron
, seguramente va a terminar como wget y otros maduro herramientas de código abierto que ser compilado y deben agregarse por separado como una herramienta de línea de comandos.
Ni siquiera sé si cron ha quedado obsoleta. man crontab
parece indicar que no ha:
(Darwin nota: a Pesar de cron(8) y crontab(5) están soportados oficialmente en virtud de Darwin, su funcionalidad ha sido absorbida en launchd(8), que proporciona una manera más flexible de ejecutar automáticamente comandos. Ver launchctl(1) para más información.)
Los demonios y los Servicios de Guía de Programación dice que se ha quedado obsoleto, aunque:
Nota: a Pesar de que aún es compatible, cron no es una solución recomendada. Se ha despreciado en favor de launchd.
crontab es también requerido por POSIX, y OS X se supone que SUS obediente.
En cualquier caso, cron probablemente no dejar de trabajar en ningún momento, y no sé si se puede decir para ser más lenta o menos seguro que launchd. El proceso de cron debe usar casi nada de tiempo de la CPU o de la memoria. Algunas de las ventajas de usar o aprender cron es que también está disponible en otras plataformas, y el formato de configuración es más sencilla.