aguarde a saída do cromo antes de continuar um script de shell

3

Estou tentando criar um script que eu possa acessar facilmente em um WM. A ideia é estabelecer um túnel de meias via ssh para um servidor em bom estado e então iniciar o cromo com as variáveis de ambiente apropriadas ... Então, espere até que a instância do cromo saia e então desvincule a porta. A última parte é importante porque, se for deixada aberta, o script não será executado novamente porque o túnel ainda está ativo.

No entanto, quando eu o executo, ele apenas estabelece a conexão, inicia o cromo e fecha a conexão ... Ele não espera que o Chromium feche antes de continuar.

Eu tentei adicionar &, & & e a função wait, mas acho que o Chromium retorna algo após a execução bem-sucedida, o que está acionando meu script para continuar.

ssh -f -N -M -S ~/socket -L 4771:localhost:4771 -p 1234 foo.bar.com
chromium --proxy-server="socks://localhost:4771" &&
wait
ssh -S socket -O exit foo.bar.com 

Estou usando o Arch e o ZSH como meu shell.

    
por testname123 13.08.2016 / 06:48

1 resposta

2

O melhor que posso pensar é executar pgrep em um loop. Se você tiver mais de um cromo em execução, poderá isolar seu script em um namespace de PID separado com unshare ou firejail , por exemplo.

    
por 12.08.2017 / 15:44