I know I can type:
ps -A | grep firefox
I get something like:
6818 ? 00:04:23 firefox
Now I can kill it by means of:
kill -9 6818
How can it be done in one command and how can I make new command (say
kf) that does this?
note: do not use
kill -9 unless you have tried everything else. always try
-9) first. for more explanation see this question and answers: https://unix.stackexchange.com/questions/8916/why-not-kill-9-a-process.
I will provide some examples for
killall works similar to
pkill -f firefox
This will kill all processes which have the string 'firefox' in the command.
Note that this will kill all processes which have the string
firefox in the command.
For example if you have a gedit open editing a file called firefox.txt like this:
$ gedit firefox.txt & $ pgrep -fl firefox 10959 gedit firefox.txt 30077 /usr/lib/firefox/firefox-bin 30123 /usr/lib/firefox/plugin-container /usr/lib/adobe-flashplugin/libflashplayer.so 30077 plugin true
Then doing a
pkill -f firefox will also kill the gedit process.
You can prevent this by telling
pkill to kill only exact matches using
pkill -x /usr/lib/firefox/firefox-bin.
killall has the switch
-e which has the same effect.
You can create an alias in bash:
alias kf='pkill -f firefox'
Now you can use
kf to kill firefox.