Eu tenho tentado enviar comandos para uma sessão de tela gnu em execução (4.00.03) no opensolaris, mas não consigo fazê-lo executar nenhum comando através de qualquer combinação de screen -X
Ok, inicio uma sessão na tela screen -S test
e, em seguida, tentei screen -r -X "date"
mostrar apenas a data em que me reconectaria a ela. Mas nem uma mensagem de erro nem saída na tela aconteceu. Tentei com tantas combinações que nem me lembro.
Alguma dica de como fazer isso?
A razão pela qual estou fazendo isso é porque tenho um programa que não é um daemon e desejo iniciá-lo em uma sessão de tela, para que mais tarde possa ver o que está acontecendo.
gnu-screen
session
opensolaris
Der Hochstapler
fonte
fonte
Respostas:
Na verdade, é bem simples. Você pode usar o seguinte:
echo -ne '\015'
emula pressionando a EnterteclaNOTA: esse 'material' é um comando de tela. http://www.gnu.org/software/screen/manual/screen.html#Stuff
fonte
stuff
é um comando de tela para 'coisas' uma string em stdinecho -ne '\015'
", por que?screen -d -m -S sessionname; screen -S sessionname -X [...]
não fizer nada, nunca funcionará, mesmo(screen -d -m -S sessionname&)&sleep 10;screen -S sessionname -X [...]
que não faça nada, exceto criar uma nova sessão de tela que não faça nada. down-votoParece que você quer:
Ou talvez você queira apenas dtach .
fonte
screen -list
mostra que nenhuma sessão está aberta.Abra uma nova janela (com o título title ) em uma sessão existente chamada session_name e execute shell_command (com argumentos opcionais args )
fonte