Uccidere tutte le istanze di Chrome dalla riga di comando?


37

In alcuni casi, uccidere una singola scheda / processo non lo fa e devo chiudere Chrome completamente. Poiché Chrome ha più processi, come posso chiuderli tutti in una volta?

Lo so...

pgrep chromerestituisce tutti i pid. Qual è un trucco che mi permetterebbe di chiuderli tutti alimentandoli a un altro comando o unendoli a un file CSV o qualcosa del genere?


3
Dato che qui ci sono almeno tre risposte inutilmente kill -9, ecco tre riferimenti che discutono i motivi che dovrebbero essere la tua ultima scelta: quando dovrei usare kill -9 , kill -9 e l' uso inutile di kill -9 .
In pausa fino a nuovo avviso.

1
Domanda simile nel sito U / Linux: unix.stackexchange.com/q/34101/6272
AlikElzin-kilaka

La risposta più pulita è davvero quella delle domande su altri siti, come indicato di seguito, dal momento che scopre quale processo uccidere secondo il timestamp più vecchio:pkill --oldest chrome
nealmcb

Risposte:


55

Prova a usare pkill (1) .

pkill chrome


tieni presente che pkill potrebbe non essere su tutti i sistemi, ma se hai pgrep, esiste anche molto probabilmente pkill.
kSiR,

2
per me questo era case sensitive, dovevo scriverepkill Chrome
Liron Yahdav il

1
Non ha funzionato con la forchetta per me. Usarlo pkill chromenon ha chiuso il processo principale di Chrome. Ha chiuso tutti i processi interni causando arresti anomali su tutte le estensioni. Inoltre, ha impedito ad alcune finestre di non aprirsi al successivo avvio, causando la perdita di stato :(
AlikElzin-kilaka il

2
@ AlikElzin-kilaka - Potresti provare a uccidere esplicitamente il processo Chrome più vecchio con qualcosa del generepkill --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

Quest'ultimo è più "elegante" in quanto non raccoglierà il pid effettivo per "grep chrome" all'interno del suo elenco ps

:-)


C'è qualche motivo per usare ps ... | invece di pgrep, anche supponendo che tu non voglia usare pkill?
Cascabel,

3
È sempre educato iniziare con SIGTERM prima di passare a SIGKILL.
Cascabel,

non proprio, l'unica ragione per cui ho lanciato l'opzione ps là fuori è dovuta al fatto che molti dei miei sistemi sono ossa nude, il che significa che non abbiamo cose come pkill pgrep
kSiR

Sono d'accordo, ma uno ha appena chiesto di uccidere: -O s / -9 / -1 / g
kSiR

6

Alcuni sistemi possono anche avere programmi utili come killalle pidof(che è effettivamente fornito dal Sistema V killall5):

killall chrome
kill -9 `pidof chrome`

Entrambi questi dovrebbero realizzare ciò che stai chiedendo.


1
Non dovresti usare -9tranne come ultima risorsa. Fare kill PIDprima.
In pausa fino a nuovo avviso.

killallsupporta anche la distinzione tra maiuscole e minuscole, ad esempio: killall --ignore-case ChRomEucciderebbe tutti i processi di Chrome. L'opzione --ignore-casepuò anche essere abbreviata in -I. Sfortunatamente, pkillnon supporta la distinzione tra maiuscole e minuscole - almeno sui sistemi Linux che ho provato (ma supporta la -idistinzione tra maiuscole e minuscole su MacOS).
be

1

Dovresti davvero usare pkillcome suggerisce jschmier, ma se insisti su pgrep, usa solo la sostituzione dei comandi:

kill $(pgrep chrome)

would'nt kill pgrep chrome`` anche il lavoro;)
kSiR

@kSiR: [un mese di ritardo] sì, ma $(...)è una buona abitudine prendere in considerazione in modo da poter annidare quando è necessario e passare da delimitatori corrispondenti nel tuo editor.
Cascabel,

1

Il comando più semplice è questo:

sudo killall chrome

Questo, con le autorizzazioni amministrative, ucciderà tutti i processi che contengono chromenel loro nome.

Vedi man killallper maggiori informazioni ...


3
Potresti aggiungere qualche spiegazione su come funziona la tua risposta?
Pensa


0

Puoi anche provare qualcosa del genere:

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

Non dovresti usare -9 se non come ultima risorsa. Fare kill PIDprima.
In pausa fino a nuovo avviso.

buon punto. Ho aggiornato la mia risposta.
Nathan Fellman,

Non è necessario un altro tubo passante cut; pspuò farlo se stessa: ps -o pid= -C chrome | xargs kill.
musiphil,

Ed è una buona abitudine per mettere -rin xargs: ps -o pid= -C chrome | xargs -r kill.
musiphil,

@musiphil: che cos'è -r?
Nathan Fellman,

0

Sotto Ubuntu, questo è ciò che ha funzionato per me:

pkill chrome

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.