Os cron Jobs do Linux são executados sequencialmente ou em paralelo?

Os cron Jobs do Linux são executados sequencialmente ou em paralelo?

Digamos que eu crie dois cron jobs:

  • Cron Job A, executado todos os dias às 8h
  • Cron Job B, executado todos os dias às 8h05

No entanto, o Cron Job A leva 12 horas para ser executado (não pergunte por que, este é um exemplo).

O Cron Job B será executado às 8h05 ou os cron jobs serão executados apenas um de cada vez?

Se um Cron Job que estava em execução anteriormente foi interrompido por uma reinicialização/reinicialização do sistema, ele será retomado/executado novamente após a inicialização subsequente?

Responder1

Sim, o cron job B será executado às 8h05. Você também pode executar mais de um trabalho de longa duração às 8h, etc.

No entanto, o trabalho não será retomado após uma reinicialização. Se você precisar de algo assim, reescreva seu trabalho com um wrapper que é agendado com frequência e que verifica se há algo novo para fazer ou algo para continuar. Isso vai depender da tarefa que você deseja realizar, obviamente.

Responder2

Eles são executados em paralelo. O Cron Job B será executado às 8h05.

Responder3

Cada cron em seu sistema é isolado um do outro, mas o tempo de execução do cron dependerá exclusivamente da alocação de recursos do sistema e do trabalho para o qual o Cron foi agendado.

informação relacionada