1 votos

¿Hacer que el sistema duerma después de que la tarea launchd se complete?

Tengo una tarea launchd que se ejecuta a las 2 de la mañana todos los días bajo mi usuario. He programado por separado la gestión de la energía para despertar mi sistema a la 1:59am para que la tarea se ejecute sin ningún problema. Sin embargo, si el sistema tiene que despertarse para ejecutar la tarea, me gustaría que se apagara de nuevo después.

Por ahora mi solución es ejecutar pmset sleepnow sincrónicamente al final del script.

Sin embargo, esto significa que mi sistema se apagará poco después de las 2 de la madrugada, incluso si ya lo estaba utilizando activamente (lo que puede ocurrir).

¿Hay alguna manera de que pueda condicionar el sistema a dormir sólo si el sistema tuvo que despertarse para ejecutar la tarea?

0voto

Deecee Puntos 39

Puede ampliar su tarea launchd y utilizar pmset -g log para obtener un registro de todos los eventos de estela. No tengo un Mac a mano, así que no puedo comprobar la salida del comando, pero tiene una razón y una marca de tiempo que una máquina se despertó.

Puedes asumir que si un evento de activación ocurrió a las 01:59 se debió a la gestión de energía, o comprobar la razón de activación para ver si puedes derivarla de ahí.
Entonces puede hacer que el pmset sleepnow condicionado a la razón de despertar (derivada), impidiendo un sueño incluso cuando estás usando activamente la máquina a las 02:00.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X