¿Cuál es la diferencia entre cron y lauchd? Siempre he usado cron, pero recientemente escuché que launchd es mejor. ¿Por qué? ¿De qué manera es mejor cron? ¿En qué formas es mejor launchd?
¿Cuál es la diferencia entre cron y lauchd? Siempre he usado cron, pero recientemente escuché que launchd es mejor. ¿Por qué? ¿De qué manera es mejor cron? ¿En qué formas es mejor launchd?
launchd hace mucho más que cron. Además de ejecutar programas en ciertos momentos, también puede ejecutarlos en función de otros activadores: conexión de red entrante, cuando se agrega un archivo a una carpeta determinada, etc. También puede relanzar un programa si se bloquea.
Si está interesado en él específicamente como un reemplazo para cron, la principal diferencia es la forma en que maneja estar dormido o apagado cuando un trabajo está programado para ejecutarse. En este caso, cron simplemente no ejecuta el trabajo, pero launchd notará que se ha perdido una ejecución programada, y la ejecutará en la próxima oportunidad (aunque si se pierde varias ejecuciones programadas, solo la ejecutará una vez).
Editar: También debería señalar algunas cosas que cron puede hacer que launchd no pueda: envío automático por correo electrónico de informes de fallas (tendría que escribir un script de envoltura para hacer esto con launchd) y trabajos definidos por el usuario que se ejecutan incluso cuando el usuario no ha iniciado sesión (un usuario puede definir elementos launchd en ~ / Library / LaunchAgents, pero solo se ejecutan dentro de una sesión de inicio de sesión).