Como parar uma tarefa cron atualmente em execução?

41

Como posso parar uma tarefa do cron que está em execução no momento?

    
por nhinkle 12.01.2011 / 08:05

9 respostas

26

Você pode fazer isso da mesma forma que interromperia qualquer processo.

Para interromper um trabalho cron em execução, 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)

    
por 12.01.2011 / 12:35
16

Para interromper a execução da tarefa cron. Primeiro, obtenha o ID do processo do seu comando com

top -p $(pgrep -d',' your_command)

por exemplo: -

top -p $(pgrep -d',' httpd)

e execute

kill PID replace PID com id do processo

    
por 12.09.2012 / 10:38
15

Estranho, ninguém mencionou este método:

$ crontab -e

No editor aberto, exclua a linha da tarefa que você deseja interromper ou insira um sinal # , salve e saia

por exemplo,

antes

* * * * * some_script1
* * * * * some_script2

depois

* * * * * some_script1
#* * * * * some_script2

ou

* * * * * some_script1

reinicie o serviço depois de fazer alterações

sudo service cron reload
    
por 31.10.2014 / 06:11
8

Se você estiver usando o Red Hat (RHEL) / Fedora Core / Cent OS Linux, use o seguinte comando:

/etc/init.d/crond stop

Se você estiver usando o Debian ou o Ubuntu Linux, o seguinte comando:

/etc/init.d/cron stop

P.S: Você deveria ser root para fazer essas coisas

    
por 12.01.2011 / 08:11
6

Primeiro, digite ps aux para ver o que todos os processos estão executando.

Em seguida, anote o PID de cada processo que você deseja interromper

Em seguida, digite

kill {PID } para cada processo.

Veja também esses links (links de superusuários):

Verificar-que-um-cron-trabalho-completou

ps-aux-output-meaning

    
por 25.12.2012 / 08:22
3

Você pode editar a tabela cron e comentar a tarefa em questão. Alterne para o usuário que controla a tarefa, exporte seu editor de escolha para o ambiente e use crontab -l :

$ su - root
...
# EDITOR=vi; export EDITOR
# crontab -l
    
por 12.01.2011 / 09:27
0

Primeiro, verifique o processo de trabalho com este comando.

ps -o pid,sess,cmd afx | egrep "( |/)cron( -f)?$"

A saída deste comando é

599  599 cron
4288  599 \_ CRON

e agora mate o processo com este comando

pkill -s 4288
    
por 12.01.2017 / 13:45
0

Trabalhando para mim no linux

pkill -9 crontab

Elimina todo o processo com o nome do processo crontab

    
por 18.09.2018 / 00:44
-1

crontab -r

removeria todos os crontabs que estão rodando, ou você pode simplesmente comentar os comandos no crontab que precisam ser interrompidos.

    
por 15.05.2018 / 21:29

Tags