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?
2 Answers
the command to script-kill processes is pkill and killall. see the wikipedia page of pkill and killall for more details.
I will provide some examples for pkill. killall works similar to pkill.
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.
nitpick: most of the time you want kill without -9. only use kill -9 if you have tried everything else first and know what you are doing and know how to clean up afterwards.
for more explanation see this question and answers: .
1wmctrl to control windows can be used
wmctrl -c Firefox