Comando Linux 'screen' - Inicia uma tela e algo para executar nela ao mesmo tempo?

0

Sou um grande fã do programa linux "screen" que me permite iniciar uma tela dentro de uma sessão SSH que pode permanecer viva após Eu desconecto. Mais informações sobre a tela aqui

Existe uma maneira de iniciar uma sessão de tela a partir de uma linha de comando que inicia automaticamente outro programa (ou script .sh) nessa sessão de tela?

Eu gostaria de adicionar isso à sequência de inicialização do meu pi framboesa para que sempre haja uma tela rodando automaticamente algum software, mesmo que o pi seja reiniciado, para que eu possa ssh no pi a qualquer momento para ver o software saída.

Eu olhei para esta solução , mas isso só ajuda parcialmente. Começa a tela assim

screen -t "df" watch -n 10 df

e inicia com sucesso o comando "df".

No entanto, quando o programa é executado, a tela fecha e desaparece.

Eu gostaria que a tela permanecesse viva mesmo que o programa tenha iniciado originalmente.

    
por 576i 28.01.2016 / 11:01

2 respostas

1

Altere o comando para:

screen -t "df" bash -c 'watch -n 10 df; exec bash'

bash -c : Use bash -c para executar vários comandos.

exec bash : Depois que o comando df terminar, ele iniciará um shell (bash) que não sairá até que algo externo termine.

    
por 28.01.2016 / 11:14
0

Você faria isso executando os comandos em um shell que permanece em execução após o comando ser concluído.

Por exemplo, em Impedir que a tela do GNU encerre a sessão assim que o script executado terminar , a resposta aceita é

exec bash

após o comando, para iniciar um shell quando o comando for concluído.

    
por 28.01.2016 / 11:13