Como posso interromper um trabalho cron que está em execução no momento?
Como posso interromper um trabalho cron que está em execução no momento?
Respostas:
Você pode fazer isso da mesma maneira que interrompe qualquer processo.
Para interromper um cron
trabalho em execução no momento , siga um destes procedimentos:
pkill process-name
ou se você conhece o PID (você pode determiná-lo executando ps
):
kill 1234
(substituindo o PID real)
pgrep
ou grep
a saída de ps
. Não há nada de especial em um processo executado cron
. Você apenas procuraria o processo com seu próprio nome. Você também pode fazer ps fauxww | grep -A 1 '[C]RON'
e as linhas abaixo da (s) linha (s) mostrarão os trabalhos executados cron
. Você pode ajustar o número 1 mais alto para ver subprocessos, se houver.
ps fauxww | grep -A 1 '[C]RON'
,. Isso lista os trabalhos cron atuais em execução, para que você possa anotar e executar o PID # kill -9 PID
. Obrigado!
-9
deve ser usado apenas como último recurso, pois impede que o processo faça qualquer limpeza ao sair.
Para interromper a execução da tarefa cron. Primeiro, obtenha a identificação do processo do seu comando com
top -p $(pgrep -d',' your_command)
por exemplo:-
top -p $(pgrep -d',' httpd)
e corra
kill PID
substitua PID
pela identificação do processo
Estranho, ninguém mencionou este método:
$ crontab -e
No editor aberto, exclua a linha da tarefa que deseja parar ou insira um #
sinal, salve e saia
por exemplo
antes
* * * * * some_script1
* * * * * some_script2
depois de
* * * * * some_script1
#* * * * * some_script2
ou
* * * * * some_script1
reinicie o serviço depois de fazer alterações
sudo service cron reload
Se você estiver usando o Redhat (RHEL) / Fedora Core / Cent OS Linux, use o seguinte comando:
/etc/init.d/crond stop
Se você estiver usando Debian ou Ubuntu Linux, o seguinte comando:
/etc/init.d/cron stop
PS: Você deve ser root para fazer essas coisas
Primeiro, digite o ps aux
que todos os processos estão executando.
Em seguida, anote o PID
processo de cada processo que você deseja interromper
Então digite
kill {PID
} para cada processo.
Também dê uma olhada nestes links (links de superusuário):
Você pode editar a tabela cron e comentar a tarefa em questão. Alterne para o usuário que controla a tarefa, exporte o editor de sua escolha para o ambiente e use crontab -l
:
$ su - root
...
# EDITOR=vi; export EDITOR
# crontab -l
crontab -e
para editá-lo. Para sistemas que o possuem, é preferível usar em sudo
vez de su
. Além disso, crontab -e
funcionaria para o usuário (ou root) crontab, mas não para o sistema crontab (por exemplo /etc/cron*
).