como matar um cron job se ele não aparecer no ps? ou obtê-lo para mostrar em ps?

1

Eu tenho um cronjob configurado assim:

~> crontab -l
0 * * * * /bin/bash -l -c 'cd /mnt/hgfs/kodiak && RAILS_ENV=test bundle exec 
    rake nightly_tasks --silent 2>> ./log/tasks_errors.log'

Eu posso ver que a tarefa cron está em execução porque está sendo registrada e o log está sendo atualizado. No entanto, quando eu uso ps ou ps -ef | grep cron , não vejo o trabalho em execução:

~> ps -ef | grep cron
 root      4228     1  0 09:14 ?        00:00:00 cron
 user      4233  3545  0 09:14 pts/3    00:00:00 grep --color=auto cron

Eu tentei o mesmo comando com grep rake e não vi o rake na lista. Eu tentei matar o pid 4228 mas isso não impediu que o trabalho do rake fosse executado. Matou 3 ou 4 vezes e ainda estava vendo a saída nos logs (e a tarefa de rake foi para o final).

Como posso matar este trabalho do cron? Ele é executado na hora e leva cerca de 20 minutos para ser executado (ele faz muito e está funcionando de hora em hora porque eu estou testando). Estou solucionando e gostaria de matá-lo se não estiver funcionando corretamente, o que eu posso ver nos logs.

    
por jcollum 31.01.2012 / 18:21

1 resposta

2

Acho que o cron gera o trabalho, então você não teria um processo "cron" relacionado a isso. Eu tentaria ps wwuxa |grep rake . Você diz que já fez? O processo tem que estar lá como você mencionou, eu acho que você está fazendo certo, você pode querer tentar com o meu "wwuxa" coisa para ps apenas para cobrir todas as suas bases.

    
por roadmr 31.01.2012 / 23:09