Sair do Google Chrome do terminal

21

Existe uma maneira de fazer o google-chrome sair do terminal, além de usar killall google-chrome ?
Gostaria de poder fechá-lo a partir de um script sem o matar.

    
por slybloty 13.03.2012 / 19:06

5 respostas

9

Talvez wmctrl possa ser de alguma ajuda. Você pode usar a opção -c que fecha uma janela normalmente:

wmctrl -c chrome

A string chrome é comparada com os títulos das janelas. Observe que a janela pode não fechar se alguma mensagem aparecer (por exemplo, quando você tiver várias guias abertas).

    
por 13.03.2012 / 19:47
19

Esse comando sai da árvore de processos do Google Chrome em todos os gerenciadores de janelas:

pkill --oldest chrome

ou se preferir:

/usr/bin/pkill --oldest --signal TERM -f chrome    

Detalhes:

  • significa: evite ver "o Google Chrome não foi desligado corretamente. Para repoen ... "da próxima vez que o Chrome iniciar
  • o navegador chrome (por exemplo, a versão 39.0.2171.95) intercepta e lida com graciosidade SIGTERM
  • sinaliza um único processo, a raiz da árvore de processos do chrome, portanto --oldest
  • SIGTERM é o mesmo que o sinal 15 , daí --signal TERM , ou simplesmente o deixa de fora, pois SIGTERM é o sinal padrão
  • wmctrl funciona com o Unity e alguns outros, mas não funciona com todos os gerenciadores de janela
  • wmctrl -c fecha uma janela de cada vez, então para fechar todas as janelas do Chrome você precisaria de algo como while wmctrl -c 'Google Chrome'; do sleep 0.2; done
por 16.12.2014 / 06:38
1

Isso funciona para mim:

killall --quiet --signal 15 -- chrome

Note que estou usando um comando bastante detalhado para mantê-lo legível no código, é claro que você também pode emitir:

killall -q -15 chrome
    
por 11.11.2014 / 13:38
1

Em Mac OS X , use isso

pkill -a -i "Google Chrome"

O que ele faz é procurar um processo do Google Chrome e também matar todos os seus processos principais.

Do manual do pkill

    -a          Include process ancestors in the match list.  By default, the
                current pgrep or pkill process and all of its ancestors are
                excluded (unless -v is used).
    -i          Ignore case distinctions in both the process table and the
                supplied pattern.

Como na resposta do @keith-cascio, você pode tentar matar o processo mais antigo. Note que isso não funcionou para mim.

pkill -o -i "Google Chrome"
    
por 24.04.2015 / 16:44
0

tente:

kill -3 <pid_of_chrome>

Isso enviará um sinal "QUIT" ao chrome, que, dependendo do seu gerenciador de janelas, será o que geralmente é enviado quando solicitado a fechar.

    
por 13.03.2012 / 19:42