Procurando usar kill -9 em vez de killall

1

Olhando para usar kill -9 em vez de killall usando o nome do processo.

Existe uma maneira que eu posso grep ou awk o pid de um determinado nome de processo / s então matar ele kill -9 ? killall falha muito para mim.

Eu estou procurando scripts para várias máquinas remotas.
O nome do processo será um dos três. Eu quero usar algo como:

sshpass -p 'password' ssh -n $user@$hostname "one liner to use kill -9"

Alguma idéia?

    
por Preston Cole 11.04.2018 / 22:25

1 resposta

6

O argumento -9 que você mencionou especifica o sinal kill que deve ser enviado para o processo em questão. O padrão é SIGTERM (terminar o aplicativo), 9 é equivalente a SIGKILL (matar o aplicativo imediatamente e mais brutalmente).

killall aceita argumentos de sinal (como -9 ou -KILL , prefiro os nomes simbólicos sobre números) também:

killall -KILL processname

Como alternativa, há pkill , que elimina processos que correspondem a um determinado padrão de comando, que aceita argumentos de sinal tão bem quanto. Você pode "visualizar" o que seria morto usando pgrep -a , que lista os progressos correspondentes em vez de enviar um sinal e matá-los:

pgrep -a processname
pkill processname

Se você quiser corresponder seu padrão ao comando inteiro, incluindo seus argumentos e não apenas o comando base, adicione a opção -f :

pgrep -a -f something
pkill -f something

Para mais informações, verifique as páginas de manual relevantes: man kill , man killall , man pkill para os vários comandos kill e man 7 signal para uma visão geral dos sinais disponíveis.

    
por Byte Commander 11.04.2018 / 22:37