Como parar um trabalho cron em execução no momento?


45

Como posso interromper um trabalho cron que está em execução no momento?


2
As três respostas abaixo interpretam essa pergunta de três maneiras. @GURU, você poderia esclarecer o que gostaria de fazer? Deseja interromper um processo iniciado pelo cron que está em execução no momento ou deseja impedir que o trabalho seja executado no futuro?
— Jcrawfordor

Respostas:


29

Você pode fazer isso da mesma maneira que interrompe qualquer processo.

Para interromper um crontrabalho 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)


1
como listar quais trabalhos cron em execução no momento?
— UWU_SANDUN 25/09

5
@UWU_SANDUN: Você pode usar pgrepou grepa 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.
— Dennis Williamson

Observe que você deve estar executando o cygwin como administrador para eliminar processos. Veja aqui para mais informações sobre isso.
— takanuva15

Usando o Ubuntu, digitei o que @ takanuva15 sugeriu 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!
— 22418 Russellhoff #

@russellhoff: -9deve ser usado apenas como último recurso, pois impede que o processo faça qualquer limpeza ao sair.
— Dennis Williamson

17

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 PIDsubstitua PIDpela identificação do processo


14

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

16
Isso não interrompe um trabalho cron em execução no momento, ele interrompe futuros trabalhos cron que serão iniciados pelo cron.
— Ivan

10

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


2
eu acho que interrompe todos os crons .para parar especial cron pode eu sei o comando

você pode sugerir qualquer comando sen

Não acho que seja possível de uma maneira direta. Talvez devêssemos fazer um hack.
— Sen


3

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

1
Isso lista o crontab. Use crontab -epara editá-lo. Para sistemas que o possuem, é preferível usar em sudovez de su. Além disso, crontab -efuncionaria para o usuário (ou root) crontab, mas não para o sistema crontab (por exemplo /etc/cron*).
— Dennis Williamson

1

crontab -r

removeria todos os crontabs em execução ou você pode simplesmente comentar os comandos no crontab que precisam ser parados.


0

Antes de tudo, 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

0

Trabalhando para mim no linux

pkill -9 crontab

Mata todo processo com o nome do processo crontab

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.