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?


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


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

:-)


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.


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)

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 ...


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


0

Você também pode tentar algo assim:

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

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

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.