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.