3 votes

osx - launchagent vs cronjob vs alarme calendrier

Je me demandais donc pourquoi choisir l'un plutôt que l'autre sur un mac s'ils font essentiellement la même chose ? Qui est d'exécuter un script à un moment ou une fréquence spécifique. Est-ce que l'un des deux réveille réellement le mac endormi et l'exécute ?

pourquoi utiliser l'un plutôt que l'autre ?

  • agent de lancement
  • cronjob
  • alarme de calendrier

merci

0 votes

Vous pouvez ajouter des applications tierces à vos choix. Je choisis généralement d'utiliser Keyboard Maestro car vous créez des tâches (macros) avec une interface graphique et il peut exécuter à la fois des applications graphiques et des scripts - et il fait beaucoup plus.

3voto

Graham Miln Points 39606

Préférez launchd

Pour les scripts non graphiques, launchd est l'approche préférée d'Apple.

cron est disponible mais n'est plus recommandé par Apple. Ceci pour des raisons d'efficacité énergétique car cron vérifie toutes les minutes les tâches à accomplir.

En comparaison avec cron , launchd Le déclenchement en fonction du temps est limité mais cela permet launchd pour calculer de manière fiable la date et l'heure absolues d'événements futurs. En connaissant ces dates, launchd peut rester inactif jusqu'à ce qu'ils arrivent.

L'alarme de Calendar.app est utile pour les scripts graphiques, comme AppleScript et Automator. Pour que cela fonctionne, votre Mac doit être connecté et éveillé.

Les scripts graphiques et non graphiques

scripts graphiques sont ceux qui interagissent avec les applications Mac en cours d'exécution. Ces applications sont supposées avoir Windows et une interface utilisateur. Cela signifie qu'elles nécessitent une session utilisateur graphique pour fonctionner - et donc qu'un utilisateur doit être connecté pour que l'application soit lancée et continue de fonctionner.

Les scripts graphiques comprennent AppleScript et Automator.

scripts non graphiques sont ceux qui limitent leurs actions aux outils et processus de ligne de commande. Ils ne nécessitent pas qu'un utilisateur soit connecté. Il suffit que l'ordinateur soit éveillé pour que le script accomplisse sa tâche.

Les scripts non graphiques comprennent les scripts et les outils de ligne de commande.

Réveil ou mise sous tension pour un script.

Aucun des outils intégrés ne pourra allumer ou réveiller votre Mac pour exécuter votre script. Vous aurez besoin d'un outil tiers, tel que Gestionnaire d'énergie pour ça. Je suis affilié à Power Manager, alors n'hésitez pas à me contacter pour toute question.

0 votes

Merci pour l'explication et la référence de l'outil. J'apprécie énormément. Juste une dernière question... launchd reste inactif jusqu'au moment de l'exécution mais cron vérifie toutes les minutes. Comment est-ce possible puisqu'un processus doit vérifier l'heure pour s'assurer qu'il n'y a pas d'éléments à lancer. Comment launchd sait-il le bon moment pour lancer s'il ne vérifie pas l'heure actuelle à plusieurs reprises ?

0 votes

S'il vous plaît, pouvez-vous poser une nouvelle question concernant les différences spécifiques entre launchd et cron . Ce site fonctionne mieux lorsque les questions évitent les discussions et ont une portée limitée.

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