O cron executa trabalhos de forma assíncrona?

O cron executa trabalhos de forma assíncrona?

Se eu adicionar 5 jobs em meu crontab, eles serão executados de forma assíncrona em paralelo? Dois dos meus trabalhos podem levar 10 minutos para serem concluídos e quero saber se preciso executá-los em segundo plano (adicionando & no final do comando).

Responder1

crontabas entradas são processadas de forma independente, então sim, os trabalhos são executados de forma assíncrona, em paralelo. Você não precisa colocá-los em segundo plano.

Se você precisar sincronizar trabalhos, confira as técnicas mencionadas emUm trabalho crontab pode ser executado simultaneamente consigo mesmo?.

Responder2

A sequência exata em que os jobs são executados dependerá da implementação do crond do seu sistema. Qual é o seu sistema operacional? Se você tiver cronjob em um crontab:

Job 1
Job 2
Job 3

No Debian o Job1 será iniciado, sem esperar para terminar o Job 2, etc.
Nos derivados do Debian e do Ubuntu é de cima para baixo
No FreeBSD é de baixo para cima

Se seus cronjobs estiverem em /etc/cron.hourly (ou diariamente/mensalmente/semanalmente) - então o script que os executa o faz sequencialmente, não em paralelo. (um script percorre-os e espera que cada um termine)

EDITAR Adicione dois cronjobs diferentes (aqui presumo que você tenha o syslog configurado)
* * * * * ls /etc/
* * * * * echo "whatever
tail -f /var/log/cron

informação relacionada