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.
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.
Tags zsh socks chrome shell-script