O cron executa tarefas de forma assíncrona?

2

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

    
por Bon Ami 18.05.2016 / 18:29

2 respostas

4

crontab entradas são processadas independentemente, portanto, sim, as tarefas são executadas de forma assíncrona, em paralelo. Você não precisa fazer o background deles.

Se você precisar sincronizar trabalhos, confira as técnicas mencionadas em Um trabalho de crontab pode ser executado simultaneamente com ele mesmo? .

    
por 18.05.2016 / 18:31
1

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

Job 1
Job 2
Job 3

No Debian, o Job1 será iniciado, sem esperar terminar o Job 2, etc.
No Debian e no Ubuntu, ele é top-bottom
No FreeBSD, é o bottom-top

Se os seus cronjobs estiverem em /etc/cron.hourly (ou diários / mensais / semanais) - o script que os executa o faz sequencialmente, não em paralelo. (um script circula por eles e espera que cada um termine)

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

    
por 18.05.2016 / 18:41

Tags