Por que a sua sessão SSH "morre" quando você fecha o terminal?
Você já deve ter passado por isso: conectou via SSH no seu servidor, começou a rodar um processo mais demorado — um backup, uma instalação, um script que baixa arquivos grandes — e, ao fechar o terminal (ou cair a internet de casa), o processo simplesmente parou no meio. Isso acontece porque, por padrão, tudo que você roda numa sessão SSH está "amarrado" a ela: quando a conexão cai, o processo cai junto.
A boa notícia é que existe uma solução simples e usada por administradores de servidor no mundo todo: as ferramentas screen e tmux. Elas criam uma "sessão de terminal virtual" que continua rodando no servidor mesmo depois que você se desconecta. Você fecha o notebook, vai almoçar, troca de rede — e quando reconectar, seu processo estará lá, do jeitinho que você deixou. Vamos aprender juntos, com calma. 🧘
Antes de começar
Este guia pressupõe que você já tem acesso SSH ao seu servidor de hospedagem. Nem todo plano inclui esse tipo de acesso por padrão — se você não tem certeza se o seu inclui, ou como ativá-lo, consulte o painel do cliente (painel.gehost.com.br) ou fale com o nosso suporte antes de seguir os passos abaixo.
O que é screen e o que é tmux?
Os dois fazem, na prática, a mesma coisa: mantêm um processo rodando "dentro" de uma sessão que sobrevive à sua desconexão. As diferenças são de estilo e recursos extras (o tmux é mais moderno e permite dividir a tela em painéis, por exemplo), mas para o dia a dia do cliente comum, qualquer um dos dois resolve muito bem o problema.
Dica da Sensei: se o seu servidor já tem os dois instalados, não precisa escolher "o melhor" — escolha o que fizer mais sentido pra você. Comece com o screen se quiser algo mais simples, ou com o tmux se pretende usar telas divididas no futuro.
Passo a passo com o screen
- Verifique se está instalado. Conecte via SSH normalmente e digite:
screen -vSe aparecer um número de versão, ótimo, já está pronto pra usar. Se der erro de "comando não encontrado", peça ao suporte para verificar a instalação no seu ambiente.
- Crie uma nova sessão. Digite:
screen -S meutrabalhoO "-S meutrabalho" é só um apelido pra sua sessão — escolha um nome que te ajude a lembrar depois o que estava fazendo ali (ex.:
screen -S backup-site). - Rode o que você precisa normalmente, como se estivesse em qualquer terminal.
- "Solte" a sessão sem encerrar o processo (isso se chama detach): pressione
Ctrl+A, solte, e depois pressioneD. Você volta pro terminal "normal" — mas o processo continua rodando por trás, no servidor. - Pode fechar o terminal, desligar o notebook, sair de casa — o processo segue rodando.
- Quando quiser voltar (de novo via SSH), digite:
screen -r meutrabalhoE pronto: você "reabre" exatamente a tela onde deixou tudo.
Passo a passo com o tmux
- Verifique se está instalado:
tmux -V - Crie uma nova sessão com nome:
tmux new -s meutrabalho - Rode seu processo normalmente dentro dessa sessão.
- "Solte" a sessão (detach): pressione
Ctrl+B, solte, e depois pressioneD. - Volte quando quiser, já reconectado via SSH:
tmux attach -t meutrabalho - Quer ver todas as sessões abertas? Use:
tmux ls
Perguntas que todo cliente faz
"E se eu esquecer o nome da minha sessão?"
Sem problema. No screen, digite screen -ls para listar todas as sessões abertas com seus nomes e status. No tmux, o comando equivalente é tmux ls.
"Posso ter mais de uma sessão ao mesmo tempo?"
Pode sim! É exatamente pra isso que damos um nome a cada uma — assim você organiza, por exemplo, uma sessão pra um backup e outra pra testar um script, sem misturar as duas.
"Como eu encerro de vez uma sessão que não preciso mais?"
Entre nela normalmente (screen -r nome ou tmux attach -t nome) e, dentro dela, digite exit. Isso fecha o terminal virtual por completo — diferente do "soltar" (detach), que só coloca a sessão em segundo plano.
Dica da Sensei: "soltar" (detach) mantém tudo rodando. "Sair" (exit) encerra de vez. São coisas bem diferentes — vale a pena guardar essa distinção antes de rodar um processo importante!
Boas práticas para não se perder
- Sempre dê um nome à sessão (o
-Sno screen, o-sno tmux). Sessões sem nome viram números difíceis de identificar depois. - Confira antes de fechar o terminal se você realmente "soltou" a sessão (Ctrl+A D ou Ctrl+B D) e não apenas minimizou a janela do seu computador — são coisas diferentes.
- Depois de terminar um processo importante, entre na sessão de novo pra conferir se tudo correu bem antes de encerrá-la com
exit. - Evite deixar sessões antigas acumulando — de vez em quando rode
screen -lsoutmux lse encerre o que não usa mais.
Se algo não funcionar
Se o comando screen ou tmux não for reconhecido pelo seu servidor, ou se você tiver dúvidas sobre o tipo de acesso do seu plano, é só chamar o nosso suporte — estamos aqui pra te ajudar a destravar isso sem dor de cabeça. E lembre-se: não existe pergunta boba quando o assunto é linha de comando. Todo mundo começou do zero um dia. 🌱