Mate todos os trabalhos cron atualmente em execução

1

Por alguma razão, meus scripts de tarefas do cron não estão saindo corretamente e estão fazendo o backup do meu servidor. Atualmente, existem algumas centenas de processos em execução para um dos meus usuários. Eu posso usar o seguinte comando para matar todos os processos por esse usuário, mas como posso simplificar isso para matar apenas crons?

pgrep -U username | while read id ; do kill -6 $id ; done

Seria perigoso executar o comando acima como está, correto? Isso não mataria o mysql e outras coisas importantes?

    
por Occam's Razor 20.08.2014 / 18:16

2 respostas

4

Para matar todos os processos para o usuário, você tem algumas opções. Eu gosto: su - username then kill -9 -1

Para ver quais processos "cron" pertencem ao usuário:

pgrep -u username cron

Para matar esses processos:

pkill -u username cron
    
por 20.08.2014 / 18:21
1

Uso:

kill -6 $(pgrep -U username cron) 

Você pode pesquisar com uma string completa pgrep com -f arg se precisar matar tarefas específicas do cron enquanto outras pessoas residem.

kill signal é muito perigoso, então você deve checar o que vai matar. Se o nome de usuário for 'root', você poderá matar coisas importantes, sim.

    
por 20.08.2014 / 18:24