Como deixar o script bash saber se o terminal aberto está fechado ou não

0

Eu quero escrever um pedaço de script bash que abra uma aba gnome-terminal e execute alguns comandos nele depois que terminar o terminal de execução irá fechar, eu gostaria que o make bash reconhecesse se este terminal está fechado ou ainda aberto porque eu farei alguma ação se tiver sido fechada e fizer meu script aguardar, se ainda estiver aberto

alguém pode ajudar?

    
por Ahmed Zain El Dein 16.09.2014 / 16:51

1 resposta

4

Você pode executar gnome-terminal desativando o modo de fábrica. Isso impedirá que ele inicie um terminal conectado a um terminal existente, para que o comando não retorne imediatamente:

gnome-terminal --disable-factory
echo Done. # Will only run after the terminal opened above has been closed

Em man gnome-terminal :

--disable-factory
             Do not register with the activation name server, do  not  re-
             use an active terminal.

A maioria dos aplicativos inicia um novo processo independente de qualquer processo em execução anteriormente quando executado. Algumas aplicações (como o Firefox, o Terminal GNOME, etc.) não abrem um processo completamente novo quando são executadas. Eles iniciam uma sessão vinculada a um processo existente. Então, se você tem uma janela do Firefox aberta e você executa:

firefox

em um terminal, ele abrirá uma nova janela conectada ao processo existente e retornará imediatamente. No caso do Terminal GNOME, você pode desativar esse comportamento usando a opção acima. Com --disable-factory , a nova janela aberta está vinculada a esse comando, portanto, o comando aguarda até que a janela seja fechada.

    
por muru 16.09.2014 / 16:56