Existe uma maneira de causar google-chrome
a saída, do terminal, além de usar killall google-chrome
?
Eu gostaria de poder fechá-lo de um script sem matá-lo.
shell-script
kill
exit
chrome
slybloty
fonte
fonte
Respostas:
Talvez
wmctrl
possa ser de alguma ajuda. Você pode usar a-c
opção que fecha uma janela normalmente:A sequência
chrome
é comparada com os títulos da janela. Observe que a janela pode não fechar se alguma mensagem aparecer (por exemplo, quando você tiver várias guias abertas).fonte
wmctrl
.pkill -o chrome
faz embora.Este comando sai da árvore de processos do chrome normalmente, em todos os gerenciadores de janelas:
ou se você preferir:
Detalhes:
SIGTERM
--oldest
SIGTERM
é o mesmo que sinal15
, portanto--signal TERM
, ou simplesmente deixe de fora, poisSIGTERM
é o sinal padrãowmctrl
funciona com o Unity e alguns outros, mas não funciona com todos os gerenciadores de janelaswmctrl -c
fecha uma janela de cada vez, para fechar todas as janelas cromadas, você precisa de algo comowhile wmctrl -c 'Google Chrome'; do sleep 0.2; done
fonte
--oldest
não é uma opção: usar o-o
works.-f
argumento para pkill não está funcionando para mim. Eu tenho alguns outros processos em execução como root, que possuem a palavra chrome em suas linhas de comando; portanto, apenas recebo permissão negada. Sem o-f
, ele funciona perfeitamente embora.Isso funciona para mim:
Observe que estou usando um comando bastante detalhado para mantê-lo legível no código, é claro que você também pode emitir:
fonte
Em
Mac OS X
, use isso em vezO que ele faz é procurar um processo do Google Chrome e matar todos os seus processos-pai também.
Do manual pkill
De acordo com a resposta de @ keith-cascio , você pode tentar matar o processo mais antigo. Observe que isso não funcionou para mim.
fonte
experimentar:
Isso enviará um sinal de "QUIT" para o chrome, que, dependendo do gerenciador de janelas, será o que normalmente é enviado quando solicitado a fechar.
fonte
kill
oukillall
onde o Chrome o vê como uma falha e pede para restaurar.SIGQUIT
geralmente não é enviado aos aplicativos quando solicitado a fechar (não conheço nenhum WMs que faça isso).WM_DELETE_WINDOW
é o padrão.kill -15 <pid_of_chrome>
fez o que eu estava procurando. Mas,google-chrome
tem vários pids e foram necessários alguns para realmente conseguir o caminho certo.