¿Por qué el cron está en desuso?

20

Acabo de descubrir que cron ha quedado en desuso en Mac OS X. ¿Por qué sucede esto y finalmente se eliminará por completo de futuras versiones?

    
pregunta eckza 25.04.2011 - 17:59

3 respuestas

23

Con el lanzamiento de Mac OS 10.4, se eligió launchd para reemplazar a cron en Mac OS. Aquí hay una versión en caché de la página de launchd del Apple Developer Connection en 2005. Explica por qué cron quedó en desuso, así como los beneficios de launchd desde la perspectiva de Apple.

El resumen: launchd se creó para no solo reemplazar cron sino también init , xinetd para un mejor rendimiento y un mejor control sobre la configuración y las tareas reales en sí mismas.

  

El daemon launchd ofrece una interfaz única y estandarizada para todos y cada uno de los programas iniciados automáticamente por el sistema. Además, los archivos de configuración que determinan cuándo ejecutar un programa determinado también pueden especificar límites de recursos y variables de entorno, lo que simplifica la configuración y la seguridad de muchos programas. El mismo formato de archivo de configuración se usa si un trabajo se inicia una vez al inicio del sistema o al inicio de sesión del usuario, a pedido a través de la red o a intervalos.

    
respondido por el michaelmichael 25.04.2011 - 18:35
12

El artículo de wikipedia en launchd tiene un muy buen resumen, discusiones extendidas así como algunos videos geniales y enlaces externos para Una inmersión más profunda en esta decisión por parte de Apple.

En pocas palabras, launchd reemplaza 7 tareas principales y una gran cantidad de scripts ( inetd , init y rc y el script de shell asociado estructuras, crond , atd , watchdogd , SystemStarter ) con una herramienta de código abierto mucho más poderosa.

Por qué:

  • más rápido
  • más poderoso
  • unificado y centralizado
  • más seguro

Cuándo: 29 de abril de 2005 (cuando se lanzó a la venta OS X Tiger)

No hay nada que nos impida a todos usar launchd para iniciar cron ahora en Tiger, Leopard o Snow Leopard.

Si Apple deja de enviar /usr/sbin/cron , seguramente terminará como wget y otras herramientas maduras de código abierto que se compilan y se deben agregar como una herramienta de línea de comandos separada.

    
respondido por el bmike 25.04.2011 - 19:43
3

Ni siquiera sé si cron ha sido desaprobado. man crontab parece indicar que no tiene:

  

(Nota de Darwin: Aunque cron (8) y crontab (5) son oficialmente compatibles con Darwin, su funcionalidad ha sido absorbida por launchd (8), que proporciona una forma más flexible de ejecutar comandos automáticamente. Ver launchctl (1) para más información.)

La Guía de Programación de Demonios y Servicios dice que ha quedado en desuso:

  

Nota: aunque todavía es compatible, cron no es una solución recomendada. Ha sido desaprobado a favor de launchd.

crontab también es requerido por POSIX , y se supone que OS X es compatible con SUS.

En cualquier caso, es probable que cron no deje de funcionar pronto, y no sé si se puede decir que sea más lento o menos seguro que launchd. El proceso cron no debería usar casi ningún tiempo de CPU o memoria. Algunas ventajas de usar o aprender cron son que también está disponible en otras plataformas, y el formato de configuración es más simple.

    
respondido por el user495470 21.07.2013 - 13:13

Lea otras preguntas en las etiquetas