Um script foi enviado no Shell. O número do processo não é mais conhecido, mas o processo precisa ser encerrado. Como operar?

ssh $i "ps -ef | grep XXX | grep -v grep |awk '{print $2}' | xargs kill"

Na verdade, ele busca o PID de um determinado tipo de processo de acordo com a palavra-chave XXX e depois o mata, ou seja, mata em lote os processos que contêm uma determinada palavra-chave

Por exemplo: pesquise o PID do processo com a palavra-chave spark

[root@bigdata-1 phm]# ps -ef | grep spark | grep -v grep |awk '{print $2}' 
12978
17073

A essência desse problema é pesquisar a palavra-chave do nome da tarefa no script de shell, imprimir o ID do processo e, em seguida, eliminá-lo.

Explicação dos principais termos do script:

  • A barra vertical "|" é usada para separar dois comandos, e a saída do comando no lado esquerdo da barra vertical será usada como a entrada do comando no lado direito da barra vertical.
  •  
  • "ps -ef" é o comando para ver todos os processos no Linux . O processo recuperado neste momento será usado como a entrada do próximo comando "grep spark".
  •  
  • A saída de "grep spark" são todos os processos que contêm a palavra-chave "spark".
  •  
  • "grep -v grep" remove os processos que contêm a palavra-chave "grep" dos processos listados.
  •  
  • "awk '{print $ 2}" é a segunda coluna da linha a ser filtrada, e a segunda coluna é exatamente o número do processo PID.
  •  
  • O  comando xargs em "xargs kill -9"  é usado para tomar a saída (PID) do comando anterior como o parâmetro do comando "kill -9" e executar o comando. "kill -9" forçará o encerramento do processo especificado.

Nota: Este comando é para matar um tipo de processo (múltiplo) com parâmetros especificados (palavras-chave) ou um processo que executa um comando com parâmetros especificados.

Além disso, o comando também pode ser escrito assim:

ps -ef | grep spark | grep -v grep | cut -c 9-15 | xargs kill -9

Substitua awk '{print $ 2}' por cut -c 9-15, mas é mais intuitivo usar awk

[root @ bigdata-1 phm] # ps -ef | grep spark | grep -v grep | cut -c 9-15
 12978
 17073

 

Acho que você gosta

Origin blog.csdn.net/godlovedaniel/article/details/109139575
Recomendado
Clasificación