Matando todas as instâncias do Chrome na linha de comando?

37

Em alguns casos, matar uma única guia / processo não funciona e eu preciso fechar o Chrome completamente. Como o Chrome possui vários processos, como posso fechar todos eles de uma só vez?

Eu sei disso...

pgrep chromeretorna todos os pids. Qual é o truque que me permitiria fechar todos eles, alimentando-os com outro comando ou mesclando-os a um arquivo CSV ou algo assim?

meder omuraliev
fonte
3
Como há pelo menos três respostas aqui desnecessárias kill -9, aqui estão três referências que discutem os motivos que devem ser sua última escolha: Quando devo usar kill -9 , kill -9 e uso inútil de kill -9 .
Pausado até novo aviso.
11
Pergunta semelhante no site U / Linux: unix.stackexchange.com/q/34101/6272
AlikElzin-kilaka
A resposta mais limpa é realmente a de perguntas em outros sites, como observado abaixo, pois descobre qual processo matar pelo carimbo de data / hora mais antigo:pkill --oldest chrome
nealmcb

Respostas:

55

Tente usar o pkill (1) .

pkill chrome

jschmier
fonte
esteja ciente de que o pkill pode não estar em todos os sistemas, mas se você tiver o pgrep, também existe mais do que provavelmente o pkill.
KSiR
2
Para mim, este foi caso sensível, eu precisava escreverpkill Chrome
Liron Yahdav
11
Não funcionou garfo para mim. O uso do pkill chromeIt não fechou o processo principal do chrome. Ele fechou todos os processos internos, causando falhas em todas as extensões. Além disso, fez com que algumas das janelas não se abrissem no próximo lançamento, causando perda de estado :(
AlikElzin-kilaka
2
@ AlikElzin-Kilaka - Você pode tentar explicitamente matando o processo Chrome mais antiga com algo parecidopkill --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

O último é mais "elegante", pois não receberá o pid real do "grep chrome" dentro de sua lista ps

:-)

kSiR
fonte
Existe alguma razão para usar em ps ... | vez de pgrep, mesmo supondo que você não queira usar pkill?
Cascabel
3
Também é sempre educado começar com o SIGTERM antes de passar para o SIGKILL.
Cascabel
não realmente, única razão pela qual eu joguei a opção ps lá fora, é devido a um monte de meus sistemas são bare ossos que significa que nós não temos coisas como pgrep pkill
kSiR
Concordo, mas apenas pediu para matar: -O s / -9 / -1 / g
kSiR
6

Alguns sistemas também podem ter programas úteis como killalle pidof(que é realmente fornecido pelo Sistema V killall5):

killall chrome
kill -9 `pidof chrome`

Ambos devem realizar o que você está perguntando.

John Ledbetter
fonte
11
Você não deve usar, -9exceto como último recurso. Faça kill PIDprimeiro.
Pausado até novo aviso.
killalltambém suporta distinção entre maiúsculas e minúsculas, por exemplo: killall --ignore-case ChRomEmataria todos os processos do Chrome. A opção --ignore-casetambém pode ser reduzida para -I. Infelizmente, pkillnão oferece suporte à diferenciação de maiúsculas e minúsculas - pelo menos nos sistemas Linux que eu tentei (mas suporta -ia diferenciação de maiúsculas e minúsculas no MacOS).
não-estar
1

Você realmente deve usar pkillcomo o jschmier sugere, mas se você insistir no pgrep, use a substituição de comando:

kill $(pgrep chrome)
Cascabel
fonte
Would'nt kill pgrep chrome`` também trabalho;)
kSiR
@kSiR: [um mês atrasado] sim, mas $(...)é um ótimo hábito entrar, para que você possa aninhar quando precisar e alternar entre delimitadores correspondentes no seu editor.
Cascabel
1

O comando mais fácil é este:

sudo killall chrome

Com permissões administrativas, isso matará todos os processos que contenham chromeseus nomes.

Veja man killallpara mais informações ...

joksancpen
fonte
3
Você poderia adicionar um pouco de explicação sobre como sua resposta funciona?
Nhinkle
1

/usr/bin/pkill --oldest --signal TERM -f chrome funcionou perfeitamente.

Fonte: https://unix.stackexchange.com/a/174451/6272

AlikElzin-kilaka
fonte
Essa deve ser a resposta aceita.
nealmcb 12/07
0

Você também pode tentar algo assim:

ps -C chrome |cut -f 1 -d' ' | xargs kill
Nathan Fellman
fonte
Você não deve usar -9, exceto como último recurso. Faça kill PIDprimeiro.
Pausado até novo aviso.
bom ponto. Eu atualizei minha resposta.
precisa
Não há necessidade de outro tubo cut; pspode fazê-lo em si: ps -o pid= -C chrome | xargs kill.
musiphil 4/09/14
E é um bom hábito de colocar -rem xargs: ps -o pid= -C chrome | xargs -r kill.
Musiphil 4/09/14
@musiphil: o que é -r?
Nathan Fellman
0

No Ubuntu, é isso que funcionou para mim:

pkill crómio

user1685993
fonte