Criei uma sessão de tela usando o comando:
screen -t name
Com base nesse nome, existe alguma maneira de reabrir esta sessão (supondo que não haja nomes duplicados)?
Criei uma sessão de tela usando o comando:
screen -t name
Com base nesse nome, existe alguma maneira de reabrir esta sessão (supondo que não haja nomes duplicados)?
Eu não acho que haja outra opção para isso - além de examinar a lista de processos:
No *BSD algo diferente é necessário:
A
-t-
opção depgrep
direcioná-lo para combinar apenas processos sem terminal de controle, neste caso apenas oscreen
processo de backend, não a primeira tela anexada (screen
altera oargv[0]
processo de backend para todos os"SCREEN"
lugares, mas no *BSD, as alterações nasargv
strings não são espelhadas na lista de processos, do jeito que estão no Linux).No FreeBSD, a
-a
opção ('também corresponde aos ancestrais do processo de chamada') também pode ser necessária. Infelizmente,pgrep -t-
não é suportado no Linux epgrep -a
faz algo completamente diferente.Então, colocando tudo em uma função:
Tudo o que você precisa fazer é usar o nome da sessão como um argumento na linha de comando:
Se você tiver mais de uma tela com o mesmo nome de sessão, também precisará especificar o PID, assim:
Isso é verificado na tela 4.01.00devel no RHEL7 e 4.04.00 no BSD.