Existe uma versão de kill com feedback?

0

Existe um fork ou easy mod do comando linux kill para fornecer feedback? Eu gostaria de evitar o ciclo de:

ps acx | grep rogue_agents
killall rogue_agents # alternately, kill 007
ps acx | grep rogue_agents # did it work?

Seria um bom bônus se ele fosse atualizado para kill -9 após um período de tempo especificado.

    
por bright-star 12.01.2014 / 00:59

1 resposta

3

Você pode querer usar -w com killall para isso:

   -w, --wait
          Wait  for  all  killed  processes to die. killall checks 
          once per second if any of the killed processes still exist
          and only returns if none are left.  Note that killall may
          wait forever if  the  signal  was ignored, had no effect,
          or if the process stays in zombie state.

Então killall -w rogue_agents seria suficiente.

Editar : Para a pergunta de bônus adicional na sua edição ...
(sobre a atualização para um kill -9 após algum período de tempo especificado) Você poderia tentar o seguinte: (Eu não posso tentar isso sozinho no momento porque eu não tenho processos desonestos:)

timeout 8 killall -w rogue_agents
timeout 8 killall -9 -w rogue_agents

Isso fará um killall com uma espera. O timeout 8 faz com que aguarde apenas 8 segundos, após o qual você pode fazer o killall -9 . Eu também fiz esse esperar 8 segundos. Se o killall -9 não for feito depois de 8 segundos, há realmente algo errado e seria necessário uma investigação manual.

Você poderia, é claro, criar um teste para executar apenas a segunda linha se ainda houver rogue_agents presentes após o killall inicial após 8 segundos. E um eco com um erro se o processo ainda estiver ativo após o segundo killall -9 .

    
por 12.01.2014 / 01:07

Tags