como certificar-se de fechar a janela direita do Chromium a partir da linha de comando do Linux?

4

Estou escrevendo um pequeno script bash que abre alguns aplicativos (várias janelas do Chrome entre outros), aguarda a entrada e, com a entrada correta, fecha todos os aplicativos abertos novamente.

Para finalizar os aplicativos, descobri duas maneiras diferentes: com kill $PID ou com wmctrl -c <WIN>

No meu caso, há várias janelas do cromo abertas (não apenas aquelas lançadas pelo script). O título da janela de chrome muda com o URL que é visitado, então, aos meus olhos, usar wmctrl -c não é muito útil. Além disso, se outra janela (por exemplo, uma instância do Firefox) tiver uma janela semelhante, ela também será fechada.

Isso me leva ao comando kill . Mas não consegui descobrir como identificar o PID da janela do Google Chrome que desejo finalizar.

Eu tentei isso:

pid=$(ps | grep chromium | cut -d " " -f1 | head -n1)
if [ -n "$pid" ]
    then
        echo "...Closing Chromium"
        kill -15 $pid
    else
        echo "...Chromium not found"
fi

mas fecha todas as janelas do Chromium.

Alguma ideia de como identificar a janela do Chrome que eu quero matar?

    
por user430 04.10.2015 / 23:02

2 respostas

1

Experimente este projeto: link

você deve ser capaz de executar algo assim:

chromix with https://www.facebook.com/ close
    
por 21.10.2015 / 02:26
0

o manual do bash diz:

       $!      Expands to the process ID of the most recently executed background (asynchronous) command.

Portanto, armazene todos os seus PIDs desejados diretamente após iniciar o processo de cromo. Talvez assim:

chromium & job1=$!
echo job1=$job1
#...
kill $job1

existem matrizes no bash também para listas de PIDs ...

    
por 06.10.2015 / 18:46