Tuer toutes les instances de Chrome sur la ligne de commande?

37

Dans certains cas, tuer un seul onglet / processus ne le fait pas et je dois fermer complètement Chrome. Étant donné que Chrome a plusieurs processus, comment puis-je les fermer tous en même temps?

Je le sais...

pgrep chromerenvoie tous les pids. Quelle astuce me permettrait de les fermer tous en les alimentant vers une autre commande ou en les fusionnant dans un fichier CSV ou quelque chose?

meder omuraliev
la source
3
Puisqu'il y a au moins trois réponses ici qui le font inutilement kill -9, voici trois références discutant des raisons qui devraient être votre dernier choix: quand dois-je utiliser kill -9 , kill -9 et utilisation inutile de kill -9 .
pause jusqu'à nouvel ordre.
1
Question similaire sur le site U / Linux: unix.stackexchange.com/q/34101/6272
AlikElzin-kilaka
La réponse la plus propre est vraiment celle des questions sur d'autres sites, comme indiqué ci-dessous, car elle détermine le processus à tuer par le plus ancien horodatage:pkill --oldest chrome
nealmcb

Réponses:

55

Essayez d'utiliser pkill (1) .

pkill chrome

jschmier
la source
sachez simplement que pkill n'est peut-être pas sur tous les systèmes, mais si vous avez pgrep, il est plus que probable que pkill existe également.
kSiR
2
pour moi, c'était sensible à la casse, je devais écrirepkill Chrome
Liron Yahdav
1
Ça n'a pas marché pour moi. pkill chromeSon utilisation n'a pas fermé le processus Chrome principal. Il a fermé tous les processus internes provoquant des plantages sur toutes les extensions. De plus, certaines fenêtres ne se sont pas ouvertes au prochain lancement, entraînant une perte d'état :(
AlikElzin-kilaka
2
@ AlikElzin-kilaka - Vous pourriez essayer de tuer explicitement le plus ancien processus Chrome avec quelque chose commepkill --oldest chrome
rinogo
13
ps aux | grep chrome | awk ' { print $2 } ' | xargs kill -9

ou

pgrep chrome | xargs kill -9

ou

ps aux | awk '/chrome/ { print $2 } ' | xargs kill -9

Ce dernier est plus "élégant" car il ne récupérera pas le pid réel pour "grep chrome" à l'intérieur de sa liste de ps

:-)

kSiR
la source
Y a-t-il une raison d'utiliser ps ... | au lieu de pgrep, même en supposant que vous ne voulez pas utiliser pkill?
Cascabel
3
Il est également toujours poli de commencer avec SIGTERM avant de passer à SIGKILL.
Cascabel
pas vraiment, la seule raison pour laquelle j'ai lancé l'option ps est due à beaucoup de mes systèmes sont des os nus, ce qui signifie que nous n'avons pas des choses comme pkill pgrep
kSiR
Je suis d'accord, mais on vient de demander de tuer: -O s / -9 / -1 / g
kSiR
6

Certains systèmes peuvent également avoir des programmes utiles tels que killallet pidof(qui est en fait fourni par le système V killall5):

killall chrome
kill -9 `pidof chrome`

Ces deux devraient accomplir ce que vous demandez.

John Ledbetter
la source
1
Vous ne devriez pas utiliser -9sauf en dernier recours. Faites d' kill PIDabord.
pause jusqu'à nouvel ordre.
killallprend également en charge l'insensibilité à la casse, par exemple: killall --ignore-case ChRomEtuerait tous les processus Chrome. L'option --ignore-casepeut également être raccourcie -I. Malheureusement, pkillne prend pas en charge l'insensibilité à la casse - du moins sur les systèmes Linux que j'ai essayés (mais il prend en charge l' -iinsensibilité à la casse sur MacOS).
nonbeing
1

Vous devriez vraiment simplement utiliser pkillcomme le suggère jschmier, mais si vous insistez sur pgrep, utilisez simplement la substitution de commande:

kill $(pgrep chrome)
Cascabel
la source
ne fonctionnerait kill pas pgrep chrome`` fonctionne également;)
kSiR
@kSiR: [un mois en retard] oui, mais $(...)c'est une bonne habitude à prendre pour pouvoir imbriquer quand vous en avez besoin et basculer entre les délimiteurs correspondants dans votre éditeur.
Cascabel
1

La commande la plus simple est celle-ci:

sudo killall chrome

Avec les autorisations administratives, cela supprimera tous les processus qui contiennent chromeleur nom.

Voir man killallpour plus d'informations ...

joksancpen
la source
3
Pourriez-vous ajouter quelques explications sur le fonctionnement de votre réponse?
nhinkle
1

/usr/bin/pkill --oldest --signal TERM -f chrome a parfaitement fonctionné.

Source: /unix//a/174451/6272

AlikElzin-kilaka
la source
Ce devrait être la réponse acceptée.
nealmcb
0

Vous pouvez également essayer quelque chose comme ceci:

ps -C chrome |cut -f 1 -d' ' | xargs kill
Nathan Fellman
la source
Vous ne devez pas utiliser -9 sauf en dernier recours. Faites d' kill PIDabord.
pause jusqu'à nouvel ordre.
bon point. J'ai mis à jour ma réponse.
Nathan Fellman
Pas besoin d'un autre tuyau à travers cut; pspeut le faire lui - même: ps -o pid= -C chrome | xargs kill.
musiphil
Et c'est une bonne habitude de mettre -ren xargs: ps -o pid= -C chrome | xargs -r kill.
musiphil
@musiphil: qu'est-ce que -r?
Nathan Fellman
0

Sous Ubuntu, c'est ce qui a fonctionné pour moi:

pkill chrome

user1685993
la source