Je sais que je peux taper:
ps -A | grep firefox
Je reçois quelque chose comme:
6818 ? 00:04:23 firefox
Maintenant je peux le tuer avec:
kill -9 6818
Comment cela peut-il être fait dans une commande et comment puis-je créer une nouvelle commande (disons kf
) qui le fait?
remarque: n'utilisez pas kill -9
à moins que vous n'ayez tout essayé. essayez toujours kill
(sans -9
) en premier. pour plus d'explications, voir cette question et les réponses: https://unix.stackexchange.com/questions/8916/why-not-kill-9-a-process .
la commande de script-kill processus est pkill
et killall
. voir la page wikipedia de pkill
et killall
pour plus de détails.
Je vais donner quelques exemples pour pkill
. killall
fonctionne de manière similaire à pkill
.
pkill -f firefox
Cela va tuer tous les processus qui ont la chaîne 'firefox' dans la commande.
Notez que cela va tuer tous les processus qui ont la chaîne firefox
dans la commande.
Par exemple, si vous avez ouvert gedit, éditez un fichier appelé firefox.txt comme ceci:
$ 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
Ensuite, faire un pkill -f firefox
va également tuer le processus gedit.
Vous pouvez empêcher cela en disant à pkill
de ne tuer que les correspondances exactes à l'aide de pkill -x /usr/lib/firefox/firefox-bin
. killall
a le commutateur -e
qui a le même effet.
Vous pouvez créer un alias dans bash:
alias kf='pkill -f firefox'
Maintenant, vous pouvez utiliser kf
pour tuer Firefox.