porque o processo crontab é executado auto repetido às vezes

1

algumas vezes, encontramos o processo cron do nosso servidor repetido automaticamente, repetido 2 ou 3 vezes

quando usar o comando ps, eu recebo isto:

server_xx14:~ # ps aux | grep cron

root      2596  0.0  0.0  11188   392 ?        Ss    2009   0:25 /usr/sbin/cron
root     21706  0.0  0.0  20812   944 ?        S    09:30   0:00 /usr/sbin/cron
root     23437  0.0  0.0  20812   944 ?        S    09:40   0:00 /usr/sbin/cron

Eu só quero apenas um cron para rodar, como posso corrigir esse problema? thx!

    
por oBlank 27.08.2010 / 04:54

2 respostas

1

Se você tiver alguns scripts de longa execução e / ou falha (nunca terminar) no cron, eles farão com que vários processos cron apareçam na lista de processos.

Para ver o que está acontecendo, tente pstree -ap e veja as coisas do cron de uma maneira bem formatada, como a abaixo:

  ├─cron─┬─13*[cron───sh───longrunningscript_───php]
  │      └─cron───sh───longrunningscript_───php

Isso significa que o cron iniciou um novo script de shell, que inicia o PHP, o que leva muito tempo para ser executado. Se pstree não estiver instalado em seu sistema, ps -auxwwwf criará uma visualização semelhante.

Se o cron se comportasse de maneira diferente, uma única tarefa cron de execução longa poderia parar todos os outros scripts destinados a serem executados no cron indefinidamente. E isso é algo que você não quer.

    
por 27.08.2010 / 09:53
0

Qual sistema operacional você está executando? Você definitivamente deve ter apenas 1 instância do cron executando. Tente executar:

# /etc/init.d/crond stop
# /etc/init.d/crond start

Ou qual script init.d seu sistema operacional usa para iniciar o cron. Se isso não funcionar, você provavelmente poderá executar o comando stop , depois kill dos processos cron restantes e, em seguida, executar o start .

    
por 27.08.2010 / 05:07

Tags