¿Matar todas las instancias de Chrome en la línea de comandos?


37

En algunos casos, matar una sola pestaña / proceso no lo hace y necesito cerrar Chrome por completo. Dado que Chrome tiene múltiples procesos, ¿cómo puedo cerrarlos todos a la vez?

Yo sé eso...

pgrep chromedevuelve todos los pids. ¿Cuál es un truco que me permitiría cerrarlos al alimentarlos con otro comando o fusionarlos con un archivo CSV o algo así?


3
Dado que aquí hay al menos tres respuestas que hacen innecesariamente kill -9, aquí hay tres referencias que discuten las razones que deberían ser su última opción: ¿ Cuándo debo usar kill -9 , kill -9 y Useless use of kill -9 ?
Pausado hasta nuevo aviso.

1
Pregunta similar en el sitio de U / Linux: unix.stackexchange.com/q/34101/6272
AlikElzin-kilaka

La respuesta más clara realmente es la de las preguntas en otros sitios, como se indica a continuación, ya que determina cuál es el proceso para matar según la marca de tiempo más antigua:pkill --oldest chrome
nealmcb

Respuestas:


55

Intenta usar pkill (1) .

pkill chrome


solo tenga en cuenta que pkill podría no estar en todos los sistemas, pero si tiene pgrep, es muy probable que también exista pkill.
kSiR

2
para mí esto era sensible a mayúsculas y minúsculas, necesitaba escribirpkill Chrome
Liron Yahdav

1
No funcionó tenedor para mí. Usarlo pkill chromeno cerró el proceso principal de Chrome. Cerró todos los procesos internos que causan bloqueos en todas las extensiones. Además, causó que algunas de las ventanas no se abrieran en el próximo lanzamiento, causando pérdida de estado :(
AlikElzin-kilaka

2
@ AlikElzin-kilaka - Podría intentar explícitamente matar el proceso de Chrome más antiguo con algo comopkill --oldest chrome
rinogo

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

o

pgrep chrome | xargs kill -9

o

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

Este último es más "elegante" ya que no recogerá el pid real para "grep chrome" dentro de su listado de ps

:-)


¿Hay alguna razón para usar en ps ... | lugar de pgrep, incluso suponiendo que no quieras usar pkill?
Cascabel

3
También es siempre educado comenzar con SIGTERM antes de escalar a SIGKILL.
Cascabel

en realidad no, la única razón por la que lancé la opción ps es debido a que muchos de mis sistemas son básicos, lo que significa que no tenemos cosas como pkill pgrep
kSiR

Estoy de acuerdo, pero uno acaba de pedir matar: -O s / -9 / -1 / g
kSiR

6

Algunos sistemas también pueden tener programas útiles como killally pidof(que en realidad es proporcionado por el Sistema V killall5):

killall chrome
kill -9 `pidof chrome`

Ambos deben lograr lo que estás pidiendo.


1
No debe usarlo -9excepto como último recurso. Haz kill PIDprimero.
Pausado hasta nuevo aviso.

killalltambién admite la insensibilidad a mayúsculas y minúsculas, por ejemplo: killall --ignore-case ChRomEeliminaría todos los procesos de Chrome. La opción --ignore-casetambién se puede acortar a -I. Desafortunadamente, pkillno es compatible con mayúsculas y minúsculas, al menos en los sistemas Linux que he probado (pero sí es compatible -icon mayúsculas y minúsculas en MacOS).
01 de

1

Realmente debería usar pkillcomo sugiere jschmier, pero si insiste en pgrep, simplemente use la sustitución de comandos:

kill $(pgrep chrome)

' kill pgrep chrome' también funciona;)
kSiR

@kSiR: [un mes tarde] sí, pero $(...)es un gran hábito para que puedas anidar cuando lo necesites y cambiar entre delimitadores coincidentes en tu editor.
Cascabel

1

El comando más fácil es este:

sudo killall chrome

Esto, con permisos administrativos, matará todos los procesos que contengan chromeen su nombre.

Ver man killallpara más información ...


3
¿Podría agregar un poco de explicación sobre cómo funciona su respuesta?
nhinkle


0

También puedes probar algo como esto:

ps -C chrome |cut -f 1 -d' ' | xargs kill

No deberías usar -9 excepto como último recurso. Haz kill PIDprimero.
Pausado hasta nuevo aviso.

buen punto. Actualicé mi respuesta.
Nathan Fellman

No hay necesidad de otro tubo a través cut; pspuede hacerlo en sí: ps -o pid= -C chrome | xargs kill.
musiphil

Y es un buen hábito para poner -ren xargs: ps -o pid= -C chrome | xargs -r kill.
musiphil

@musiphil: ¿qué es -r?
Nathan Fellman

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.