script para matar o processo com caractere específico

0

Eu tenho um comando que gera como segue:

# lostjobs

user1   12983     1  0 Feb04 ?        00:00:00 dbr UT:msmenu
user1   18253     1  0 Feb09 ?        00:00:00 dbr UT:msmenu
user2   22337     1  0 Feb09 ?        00:00:00 dbr UT:msmenu
user3   7164   7123  0 06:52 pts/0    00:00:10 dbr UT:msmenu

Eu sei que posso pegar aqueles com o que eu quero matar (que são aqueles com pontos de interrogação) com:

# lostjobs | grep ?

O que eu preciso saber é como eu posso percorrer os resultados do segundo e matá-los por id (a segunda coluna). Eu não sou muito bom em escrever scripts para linux, então vá com calma comigo.

Obrigado por qualquer ajuda.

    
por Toby Joiner 11.02.2011 / 17:19

2 respostas

0

Uma solução é:

kill 'lostjobs | awk '{ if ( $6 == "?" ) print $2 }''
    
por 11.02.2011 / 17:24
0

Isso também deve funcionar:

kill -9 'lostjobs | grep ? | awk {'print $2'}'
    
por 11.02.2011 / 17:39