É crontab multithread? [fechadas]

2

Eu não sei onde posso encontrar mais informações sobre crontab, então eu pergunto aqui. Crontab é multithread? Como isso funciona?

    
por mathieug 08.09.2011 / 11:07

3 respostas

8

Provavelmente não. Tudo o que o cron tem a fazer é (para simplificar) assistir até a hora de executar um trabalho ou outro, e em caso afirmativo, bifurque um processo que execute esse trabalho e verifique periodicamente se o trabalho foi concluído para limpá-lo .

O MT poderia ser usado para essa espera, mas acho que seria um exagero. Com as wait() / waitpid() funções familiares , é possível dar uma olhada em todas as crianças de uma só vez (seria bom para os professores de jardim de infância :-D) . E você pode dar uma olhada sem bloquear, então você tem também a possibilidade de continuar procurando o tempo para executar o próximo trabalho. E SIGCHLD também existe.

    
por 08.09.2011 / 13:17
6

Existem várias implementações do cron para Linux. Se algum deles é multi-threaded ou não, não é realmente uma questão que eu acho relevante a menos que você esteja tentando escrever sua própria implementação do daemon do cron.

    
por 08.09.2011 / 11:26
4

Comandos unix tradicionais desse tipo não são multithread. Eles usam um modelo fork-exec. No caso do cron, ele bifurca um shell para executar os comandos na linha crontab. O daemon cron não espera que o filho termine a execução, embora o IIRC possa manipular certos sinais enviados pela criança.

    
por 09.09.2011 / 18:19