Quelle est la différence entre cron et lauchd ? J'ai toujours utilisé cron, mais j'ai récemment entendu dire que launchd était meilleur. Pourquoi ? En quoi cron est-il meilleur ? En quoi launchd est-il meilleur ?
Réponse
Trop de publicités?Launchd fait beaucoup plus que cron. En plus d'exécuter des programmes à certaines heures, il peut également les exécuter en fonction d'autres déclencheurs : connexion réseau entrante, lorsqu'un fichier est ajouté à un certain dossier, etc. Il peut également relancer un programme s'il se plante.
Si vous vous intéressez à ce produit en tant que substitut de cron, la principale différence réside dans la façon dont il gère l'endormissement ou l'arrêt de l'ordinateur lorsqu'une tâche est programmée. Dans ce cas, cron n'exécute tout simplement pas la tâche, mais launchd remarquera qu'une exécution programmée a été manquée, et l'exécutera à la prochaine occasion (bien que si elle a manqué plusieurs exécutions programmées, elle ne l'exécutera qu'une fois).
Edit : Je dois aussi signaler certaines choses que cron peut faire et que launchd ne peut pas faire : l'envoi automatique par email des rapports d'échec (vous devriez écrire un script pour faire cela avec launchd) et des travaux définis par l'utilisateur qui s'exécutent même lorsque l'utilisateur n'est pas connecté (un utilisateur peut définir des éléments launchd dans ~/Library/LaunchAgents, mais ils ne s'exécutent que dans une session de connexion).