Como deixar 'matar' ignorar processos que não estão vivos

2

Como dizer ao kill Comando para ignorar processos se esse processo não está vivo?

Por exemplo: 3453 é um processo vivo, mas 44534 não é.

kill -9 3453 44534
ThomasW
fonte
1
Além disso, o que você está perguntando não é muito claro. Você poderia reformular ou elaborar para dizer exatamente o que você quer que aconteça?
lc.

Respostas:

3
for pid in 3453 44534
do
  kill -9 "$pid" > /dev/null 2> /dev/null || :
done
Ignacio Vazquez-Abrams
fonte
2
kill -9 3453 || kill -9 44535

fonte
E se a situação fosse invertida? Ou se ambos estão vivos?
Ignacio Vazquez-Abrams
0

A maioria das pessoas não está ciente de que kill é um comando interno para muitos shells e estou assumindo que você está usando o bash e que gostaria de suprimir as mensagens "no such process" que podem ser geradas. O executável localizado em /bin/kill em uma das minhas máquinas não gera tais mensagens.

$ /bin/kill -9 3453 44534
gestep
fonte
1
e também gera erro ...
OZ_
0
taskid=12345

if ps ax | grep -v grep | grep $taskid > /dev/null; then
  kill -9 $taskid
  # Task killed
fi
JRobert
fonte