process id and killing process - ps commmand
Solution 1
when trying to find the PID of firefox
, you launch a new process the filters the all the unwanted processes. this filter process (grep firefox
) also contains the search-term "firefox" and thus finds itself.
whenever you restart ps ax | grep firefox
you launch a new grep
-process, hence it's PID keeps changing.
So, the short answer is:
use PID 2213 to kill firefox
If you want to get rid of the false positive, you can use another grep
to filter it out:
$ ps ax | grep firefox | grep -v grep
yet another option is to use pgrep
(which will only give you the PID of the found processes)
$ pgrep firefox
2213
Solution 2
The other answers already explain why you see two mentions of firefox
. That's why the way to do what you are attempting is not to parse ps
but to use the pkill
and pgrep
commands:
pgrep, pkill - look up or signal processes based on name and other
attributes
For example, to find running instances of firefox
:
$ pgrep -l firefox
1020 firefox
To kill them:
$ pkill firefox
Solution 3
one-liner:
ps aux | grep firefo[x] | awk '{print $2}' | xargs kill
Solution 4
The firefox process you have to kill is:
2213 ? Sl 2:01 /usr/lib/firefox/firefox
The 2644 process is the grep command you are running, which, as you mention correctly, change his ID every time you keep running it.
Related videos on Youtube
CODError
Updated on September 18, 2022Comments
-
CODError over 1 year
Please see the output of below ps command:
abc@smaug:~/Desktop$ ps ax | grep firefox 2213 ? Sl 2:01 /usr/lib/firefox/firefox 2644 pts/0 S+ 0:00 grep --color=auto firefox
Please explain both rows and what process id can be used to kill firefox process?
Process id 2644 keeps on changing everytime I run that command.
-
jasonwryan over 8 yearsAwk and grep is redundant; awk can do pattern matching:
awk '/firefox/ {print $2}'
...