2 votes

Est-il possible d'empêcher launchd de lancer une tâche manquante au réveil ?

J'ai un launchd configurée pour être exécutée une fois par heure à l'aide de l'option StartCalendarInterval pour définir des heures spécifiques auxquelles la tâche sera exécutée.

Cependant, le comportement par défaut est que, lorsqu'un intervalle est manqué (par exemple, l'ordinateur était endormi), la tâche sera immédiatement exécutée à la prochaine occasion disponible (par exemple, au réveil).

Est-il possible de désactiver ce comportement dans mon fichier plist ?

Je n'ai pas trouvé de clé(s) évidente(s) pour contrôler cela, et la seule autre chose à laquelle je pense est de vérifier l'heure actuelle dans la tâche elle-même, mais cela signifie une duplication du comportement de chronométrage (définir l'heure dans la plist, puis la vérifier dans la tâche elle-même).

1voto

Graham Miln Points 39606

Shell script wrapper

launchd n'a pas de méthode intégrée pour limiter les tâches qui ont manqué leur heure de début. Votre idée d'utiliser un wrapper shell script pour évaluer l'heure souhaitée et l'heure réelle est une approche raisonnable.

Pour Power Manager, nous avons fourni un drift durée dans ce but précis. La dérive permet à l'utilisateur d'indiquer combien de temps après une heure de déclenchement manquée l'événement est autorisé à se dérouler.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X