Utilizar launchd
en lugar de cron
, at
, u otras herramientas heredadas de UNIX para Mac OS X.
pmset
pmset es una herramienta de línea de comandos incorporada para obtener y configurar valores relacionados con la potencia en Mac OS X. Una de las habilidades de pmset es agregar y eliminar entradas de IOPMQueue; IOPMQueue es la cola de nivel IOKit que le permite a su Mac encenderse y despertarse a una hora específica. IOPMQueue también admite la programación de paradas y reinicios.
El código arbitrario no se puede programar utilizando pmset o a través de IOPMQueue.
cron
cron es un incondicional del mundo de la programación de tareas. Sin embargo, en Mac OS X, no se recomienda usar cron. Utilizar launchd
.
cron se implementa revisando cada minuto las tareas que se deben realizar. Esto permite un formato de programación potente y expresivo, pero al costo de la necesidad de reactivar el procesador cada minuto.
cron no sabe de tu mac durmiendo. Si se debe realizar una tarea mientras su Mac está inactiva o apagada, la tarea no se realizará. Cuando su Mac vuelva a encenderse, la tarea no se realizará porque ya pasó el minuto en que debería haberse ejecutado.
Hay otras herramientas que se basan en cron y pueden ejecutar tareas perdidas al despertar. Ninguno está incluido de forma predeterminada con Mac OS X.
lanzamiento
lanzamiento (Daemon de lanzamiento) es el sistema de inicio de Apple, herramienta de programación y control de procesos. Launchd está escrito para las necesidades del sistema operativo primero y los usuarios en segundo lugar. Es un proceso potente y capaz utilizado para administrar o iniciar casi cualquier otro proceso en su Mac.
launchd es una mejora en cron para la programación porque no es necesario realizar una encuesta para realizar tareas. En su lugar, launchd puede permanecer inactivo hasta el momento en que una tarea necesita realizarse. En una era de computación móvil y consciente de la energía, esto es importante.
launchd no activará una Mac en reposo para realizar tareas.
tickets de trabajo de launchd Son archivos de lista de propiedades (plist). Estos archivos se pueden editar con un editor de texto o con varias aplicaciones de terceros.
Se recomienda lanzar y es adecuado para la mayoría de las situaciones de programación.
Tercero
Hay una cantidad de herramientas de programación de terceros disponibles en Mac OS X. A menudo proporcionan una interfaz gráfica u ofrecen más funciones que las que se incluyen en las herramientas de línea de comandos estándar de Mac OS X. La herramienta con la que estoy asociado es Administrador de energía .
cron
, especialmente si está despertando el procesador cada minuto?cron
para Super Duper! no es malo, pero es probable que haya alguna restricción de diseño en sus planes, o una limitación enlaunchd
que encontraron durante el desarrollo. Hay poco incentivo para que Shirt Pocket migre alaunchd
Tan largo comocron
Sigue funcionando bien para sus clientes.cron_tick
Función y bucle de llamada para confirmar este comportamiento.cron
despierta cada segundo, incluso de no hay programadoscron
tareas - es decir, ¿el despertar continuaría incluso si no hubiera ninguno?cron
Se despierta cada minuto para comprobar si hay alguna tarea pendiente.pmset
es un tema de bajo nivel y realmente no controla la ejecución del código específicamente, al menos no de manera directa o intencional. Controla cosas como encender o apagar tu Mac en momentos específicos, de manera similar a como puedes hacerlo en Preferencias del sistema »Ahorro de energía. En general, nunca deberías necesitar usarpmset
Para cualquier cosa directamente.cron
sigue ahí porque ... bueno, porque Apple todavía no lo ha matado, a pesar de haberlo desaprobado hace años. Sospecho que es porque hay algunas personas Un * x de antaño que aún trabajan en Apple y que no quieren que funcione. Pero, en realidad, no tiene sentido usar eso si puedes usarlaunchd
. IIRCcron
los trabajos no se ejecutan si el equipo estaba dormido cuando se suponía que debía ejecutarse.launchd
es el reemplazo de Apple paracron
lo que agrega mucha flexibilidad a la programación de eventos en una Mac. Esta es la forma en que deberías programar eventos en una Mac. La mejor manera de aprender a usar.launchd
es Control de lanzamiento , que es una aplicación de US $ 10 sin DRM, sin códigos de licencia y sin restricciones. (Los desarrolladores confían en la honestidad de sus usuarios para pagar la cuota de registro si utilizan la aplicación). No solo obtiene la funcionalidad de arrastrar y soltar para incorporar varios elementos delaunchd
Plists, cada uno está documentado para que pueda ver exactamente lo que hace. Altamente recomendado.fuente
pmset
como le gusta a una aplicación Administrador de energía ¿trabajo? Claramente creapmset
entradas (y no utilizacron
olaunchd
) y también hace más que simplemente reactivar la máquina (ejecuta código arbitrario).