O comando screen é muito útil para quem precisa executar ações que precisem ficar executando por longos períodos. Na maioria das vezes, este procedimento é feito em máquinas remotas, sujeitas a problemas de conexão local ou tempo de conexão remota excedido. Para garantir que o comando continue rodando, utiliza-se o screen. Veja como, neste tutorial.
1. Primeiro, faremos a instalação da ferramenta. Utilize o comando de acordo com seu Sistema Operacional.
CentOS ou FEDORA
$ yum install screen
Debian ou Ubuntu
$ apt-get install screen
Confirme que deseja proceder e aguarde a finalização;
2. Após a conclusão, verifique a versão com o comando abaixo;
$ screen --version
3. Para iniciar a sessão, digite simplesmente,
$ screen
A janela da conexão será identificada acima, com o número do screen;
4. Para criar novas sessões, pressione as teclas “Ctrl” + “a” + “c”.
Veja como criamos de forma fácil mais sessões: 0, 1, 2, 3, 4 e 5.
5. Para finalizar uma sessão, basta digitar o comando exit;
$ exit
6. Você pode executar o comando que levará mais tempo, fechar a janela do Putty, por exemplo. Ou, ainda, utilize a sequência “Ctrl” + “a” + “d”.
O comando, em sua saída, exibe “[detached from 20476.pts-1.localhost]”, indicando qual é o PID da sessão;
7. Após alguns minutos, faça login novamente e, com o comando abaixo, retome à sessão onde o comando fora executado previamente,
$ screen -R
Caso você possua mais de uma sessão ativa, será exibida a mensagem abaixo,
There are several suitable screens on:
22516.pts-1.localhost (Detached)
20476.pts-1.localhost (Detached)
Se quiser retornar ao screen de PID 22516, use o comando seguinte:
$ screen -r 22516.pts-1.localhost
8. Perceba como o progresso mudou desde o início do comando (0%).
9. Outros atalhos: para alternar a visualização entre as diferentes sessões abertas (precisa ser executado dentro de uma sessão screen): Ctrl+a