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

2

Como dizer ao comando kill para ignorar processos se esse processo não estiver ativo?

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

kill -9 3453 44534
    
por ThomasW 18.06.2010 / 14:09

4 respostas

3

for pid in 3453 44534
do
  kill -9 "$pid" > /dev/null 2> /dev/null || :
done
    
por 23.06.2010 / 22:24
2
kill -9 3453 || kill -9 44535
    
por 18.06.2010 / 14:13
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
    
por 19.06.2010 / 06:09
0
taskid=12345

if ps ax | grep -v grep | grep $taskid > /dev/null; then
  kill -9 $taskid
  # Task killed
fi
    
por 18.06.2010 / 15:05

Tags