--- Em [email protected], Thiago Diniz da Silveira <thiagods...@...> escreveu > > Pela minha lógica ao deixar como daemon.. ele vai estar consumindo memória e > processamento o tempo todo. > Acho que a cron já está lá justamente para isso, só ela consome memória e > processamento menor do que se todos os scripts estivessem rodando como um > daemon, imagina 5 scripts rodando um sleep cada, e apenas um script só no > caso a cron rodando um time e verificando para cada script "cadastrado" em > sua lista a hora de rodar? aparentemente consome menos recursos, creio eu > que fique melhor usando a cron. > > Acho que só vale a pena deixar como daemon se for algo que precise realmente > estar funcionando o tempo todo, como um servidor de dns, web ou firewall. >
Thiago, na realidade, a dúvida é mais conceitual que técnica. Não sei o que o bash (ou seria o kernel) com o script quando recebe o sleep, em termos de processador e memória. A questão que me pôs em dúvida é o que "custa" mais para o hardware, em um período de 24 horas. Executar via cron, de minuto em minuto, implica em rodar o mesmo script 1.440 vezes. Há portanto, 1.440 operações de I/O (o cron tem que acessar o disco 1.440 vezes a mais apenas para ler o código fonte, gerenciar memória - alocando e desalocando - 1.440 vezes). Já no daemon, haveria apenas 1 operação de I/O. Já que o código é pequeno (menos de 100 linhas), pouca memória estaria em uso e o I/O somente seria necessário quando o loop gira. Mas minha dúvida é justamente à respeito do sleep. Qual o ônus dele para a memória e o processador. Sai mais "barato" para as 1.440 execuções (com seus acessos a disco e operações de memória), ou mandar o programa 'dormir' por 1.440 vezes? Supondo que a execução dele dure 5 segundos. O que ocorre com o processador e memória nos outros 55 em que o comando sleep está rodando? Outra dúvida é à respeito do cron. Faz diferença para a máquina o fato de ter uma tarefa agendada de minuto (não o custo da execução da tarefa, mas a da verificação das tarefas à executar)? Virou off ou ainda é shell?
