Eu tenho um script que é executado por um longo tempo. Tem bastante saída para stdout que eu gostaria de poder ler em tempo real, mas também rolar para cima e para baixo. Sempre que uma nova linha de saída é impressa em stdout, minha tela é redefinida para a parte inferior da saída (conteúdo mais atual). Existe alguma maneira de percorrer stdout enquanto também tem o conteúdo mais recente visível e atualizado quando eu rolo para baixo?
Estou no RHEL7. Eu não tenho uma GUI e estou conectado ao host via SSH.
Você pode usar um pager como
less
:ou, se você também quiser salvar a saída em um arquivo:
Dentro
less
de , você pode rolar para frente e para trás e pode obter umtail -f
comportamento pressionando F(pressione Ctrl+Cpara sair deste modo). Você pode até iniciá-lo neste modo:Para evitar possivelmente bloquear as gravações do seu programa, faça o programa redirecionar diretamente para um arquivo de saída em segundo plano e use
less
nele:Consulte o manual do
less
seu sistema.