ID do processo usando ps aux

8

Sou novato na programação de shell. Supondo que eu comecei um programa (por exemplo, NetBeans) do meu terminal, se eu digitar

ps aux|grep netbeans

Eu obtenho a saída

pre      18775  1.2  0.0  12524  1972 pts/3    S    20:17   0:00 

em que 18775 especifica o PID etc do processo.

Então eu mato usando

kill 18775.

em que a interface do usuário do NetBeans desaparece. Se eu tentar obter o pid usando o primeiro comando, ainda recebo:

pre      19137  0.0  0.0   9136  1068 pts/3    S+   20:19   0:00 grep --color=auto netbeans

Se o processo foi eliminado, por que ele ainda mostra a saída acima?

    
por P Ramesh 17.11.2011 / 15:51

3 respostas

13

grep está se aproximando. Tente algo como:

ps aux |grep [n]etbeans

isto evita que o grep apareça na saída

    
por roadmr 17.11.2011 / 16:00
4

Nunca use ps junto com grep .

Em vez disso, use killall netbeans , pkill netbeans para eliminá-lo. Para o ID do processo pgrep netbeans .

Mais em ps e grep .

    
por Martin Ueding 17.11.2011 / 16:10
4

Porque esse é o PID para o processo do grep que é enfileirado para ser executado após ps aux .

    
por ovangle 17.11.2011 / 15:59