Les tâches cron Linux sont-elles exécutées chacune séquentiellement ou en parallèle?

10

Disons que je crée deux tâches cron:

  • Cron Job A, s'exécute tous les jours à 8h00
  • Cron Job B, s'exécute tous les jours à 8 h 05.

Cependant, Cron Job A prend 12 heures pour s'exécuter (ne demandez pas pourquoi, ceci est un exemple).

La tâche Cron B pourra-t-elle s'exécuter à 8 h 05 ou les tâches cron ne seront-elles exécutées qu'une par une?

Si une tâche Cron qui était en cours d'exécution était interrompue par un redémarrage / redémarrage du système, est-ce qu'elle reprendra / s'exécutera à nouveau après le démarrage suivant?

Adam B
la source
2
La première partie de ceci est si facile à tester, je suis surpris que vous ne l'ayez pas fait.
user9517
1
Les tests sont une chose, mais j'essaie d'obtenir des informations sur le fonctionnement de cron. Oui, je peux probablement parcourir la source cron, mais cela prendrait plus de temps. Par exemple, j'aimerais savoir si chaque tâche cron est engendrée comme un nouveau processus, ce qui, à ma connaissance, l'est. Et aussi, s'il y a une limite d'exécuter simultanément des tâches cron, qui en fait semble également être basé sur la mise en œuvre.
Adam B

Réponses:

11

Oui, la tâche cron B s'exécutera à 8 h 05. Vous pouvez également exécuter plusieurs travaux de longue durée à 8h00, etc.

Cependant, le travail ne reprendra pas après un redémarrage. Si vous avez besoin de quelque chose comme ça, réécrivez votre travail avec un wrapper qui est planifié souvent et qui vérifie s'il a quelque chose de nouveau à faire ou autre chose à continuer. Cela dépendra de la tâche que vous voulez faire, évidemment.

Sven
la source
Si cela se résumait à cela, je passerais probablement à un démon. Je vois qu'en termes de redémarrages / pannes de courant, etc., Daemon pourrait être plus robuste.
Adam B
2
@AdamB: il existe de nombreuses tâches pour lesquelles cron n'est pas adapté. Comme toujours, choisissez l'outil approprié à votre tâche. Par exemple, cela pourrait valoir la peine d'examiner anacron.
Sven
5

Ils sont exécutés en parallèle. Cron Job B se déroulera à 8 h 05.

Brian Minton
la source
1

Chaque cron de votre système est isolé les uns des autres, mais le temps d'exécution du travail cron dépend uniquement de l'allocation des ressources système et du travail pour lequel Cron a été planifié.

Abhishek Anand Amralkar
la source
Est-ce que cela va? Je pense que cela pourrait aussi dépendre de ce que fait le cronjob, de quelles données d'entrée ou de quoi, et de plusieurs autres facteurs.
Falcon Momot