Screen

Quando for executar um comando que rode durante muito tempo, não é conveniente deixar o processo travando um terminal principalmente porque se o terminal cai, o processo vai junto. Pode-se enviar o processo para background, usando “bg comando” ou “comando&”. Ainda assim, se deslogar, receber um sinal de hangup e o processo morrer, use “nohup comando &”, sendo que a saída do comando será gravada no arquivo nohup.out no diretório corrente. Outra opção mais completa é usar o programa screen.

O Screen é um multiplexador de terminais que permite ao usuário, em uma mesma sessão, abrir várias janelas e realizar atividades paralelas (terminais virtuais). Com o screen, também é possível um usuário ver o que o outro está digitando e vice-versa (ambos os usuários podem digitar os comandos e ambos verão os resultados). Pode ser instalado através do repositório, para iniciar sua utilização (criando uma nova sessão), basta digitar “screen”. Se digitar “screen -ls”, aparecem as sessões que estão rodando. Escreva “screen -x” para retomar a última sessão ou digite “screen -r NomeDaSessao” para retomar essa sessão.

A partir do momento em que você está dentro do multiplexador screen, todo o gerenciamento é feito utilizando a sequência de caracteres “Ctrl+a+“, a ser executado da seguinte forma: pressiona-se Ctrl+a simultaneamente e, após soltar as teclas Ctrl+a, pressiona-se a tecla da opção. A opção “c” cria uma nova sessão; a opção de um número o levará para a janela com aquele número. Por exemplo, você acabou de cirar uma nova sessão e (sessão 0) e vai criar outra (sessão 1). Este novo shell (sessão) é completamente independente do outro na janela 0, ou seja, você pode se conectar a outro servidor a partir deste shell também. Para avançar do shell 0 para o shell 1, utilize Ctrl+a+n (next); ao contrário, digite Ctrl+a+p (previous).

Para navegar para cima e para baixo no terminal, pressione CTRL+A+[ e assim abrir o “copy mode” do screen. Então utilize as teclas de seta e Page Up/Down para navegar como um texto. Para sair desse modo, digite CTRL+A+].

Digite “exit” para fechar a sessão shell. Os outros shells permanecerão ativos e realizando as tarefas que você iniciou. Já o comando CTRL+a+d faz abandonar a sessão screen sem fechá-la. Todos os terminais abertos permanecerão abertos e todos os processos que deixamos rodando continuarão rodando.