Uma solução é:
kill 'lostjobs | awk '{ if ( $6 == "?" ) print $2 }''
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.
Isso também deve funcionar:
kill -9 'lostjobs | grep ? | awk {'print $2'}'