I'm a newbie to shell programming. Assuming that I've started a program(eg NetBeans) from my terminal, if I type
ps aux|grep netbeansI get the the output
pre 18775 1.2 0.0 12524 1972 pts/3 S 20:17 0:00 where 18775 specifies the PID etc of the process.
Then I kill it using
kill 18775.upon which the NetBeans UI disappears. If I try to get the pid by using the first command, I still get:
pre 19137 0.0 0.0 9136 1068 pts/3 S+ 20:19 0:00 grep --color=auto netbeansIf the process has been killed, why does it still show the above output?
13 Answers
grep is grepping itself. Try something like:
ps aux |grep [n]etbeansthis keeps grep from showing itself in the output
2Never use ps together with grep.
Rather, use killall netbeans, pkill netbeans to kill it. For the process ID pgrep netbeans.
More on ps and grep.
4Because that's the PID for the grep process which is queued up to run after ps aux.