Como manter um processo rodando no SSH mesmo depois de fechar a conexão (screen e tmux)
Oi! Aqui é a Sensei da GeHost 🥋 Se você já rodou um comando pelo SSH — tipo instalar algo, rodar um script demorado ou subir um processo — e na hora que a conexão caiu (ou você fechou o terminal) o processo morreu junto, esse guia é pra você. Vou te ensinar duas ferramentas simples que resolvem isso de vez: o screen e o tmux.
Em resumo: quando você fecha o SSH sem essas ferramentas, o sistema entende que "acabou a sessão" e mata tudo que estava rodando dentro dela. O screen e o tmux criam uma sessão "à parte", que continua viva no servidor mesmo sem você conectado.
O que são screen e tmux?
Pensa neles como uma "sala" dentro do servidor. Você entra nessa sala pelo SSH, roda o que precisa, e pode sair da sala sem fechar ela. O processo continua rodando lá dentro, e quando você quiser, é só voltar e conferir como está.
Os dois fazem basicamente a mesma coisa. O screen costuma vir pronto na maioria dos servidores; o tmux é um pouco mais moderno e tem alguns recursos a mais (como dividir a tela em blocos). Se seu servidor não tiver um dos dois instalado, fale com o suporte pra verificar a disponibilidade no seu plano.
Passo a passo com o screen
- Conecte no SSH normalmente, como você já costuma fazer.
- Verifique se o screen está disponível digitando:
screen -v
Se aparecer uma versão, está tudo certo. Se der "comando não encontrado", peça ajuda ao suporte pra confirmar a disponibilidade dele no seu ambiente. - Crie uma nova sessão com um nome fácil de lembrar (assim fica mais organizado se você tiver mais de uma rodando):
screen -S meuprocesso - Você vai cair dentro dessa "sala nova" — a tela pode até parecer igual, mas agora você está dentro da sessão do screen. Rode o comando ou processo que precisa ficar ativo normalmente.
- Para sair sem matar o processo, aperte:
Ctrl + A, solte, e depois aperteD(de "detach").
Você volta pro terminal normal e o processo continua rodando por trás, mesmo se você fechar o SSH ou desligar o computador. - Para voltar e ver o processo depois, conecte no SSH de novo e digite:
screen -r meuprocesso
Pronto, você está de volta dentro da sessão, vendo tudo rodando. - Se quiser listar todas as sessões que estão ativas:
screen -ls - Quando o processo já tiver terminado e você não precisar mais da sessão, entre nela (
screen -r nome) e digiteexitpra encerrá-la de vez.
Passo a passo com o tmux
O fluxo é bem parecido, só muda um pouco a "sintaxe":
- Verifique se está disponível:
tmux -V - Crie uma sessão nova com nome:
tmux new -s meuprocesso - Rode seu processo normalmente dentro dela.
- Para sair sem encerrar ("desanexar"), aperte:
Ctrl + B, solte, e depois aperteD. - Para voltar depois:
tmux attach -t meuprocesso - Para listar as sessões ativas:
tmux ls - Pra encerrar de vez, entre na sessão e digite
exit.
Dicas importantes da Sensei
💡 Dica 1: sempre dê um nome à sua sessão (o-S nomeno screen ou o-s nomeno tmux). Sem nome, o sistema gera um número aleatório e fica mais difícil de identificar depois — principalmente se você tiver várias sessões abertas ao mesmo tempo.
💡 Dica 2: "sair sem encerrar" (detach) é diferente de digitarexit. Detach mantém tudo rodando;exitencerra a sessão e tudo que está dentro dela. Use detach quando quiser que o processo continue, eexitsó quando ele já tiver terminado o que precisava fazer.
💡 Dica 3: se a sua conexão SSH cair de repente (sem querer, por exemplo por causa da internet), sem problema: se você já estava dentro de uma sessão do screen ou tmux, ela continua rodando normalmente no servidor. É só reconectar e usar o comando de "voltar" (screen -routmux attach) pra ver como ficou.
Quando usar isso?
- Rodar scripts ou instalações que demoram bastante tempo.
- Deixar um processo em segundo plano funcionando enquanto você faz outras coisas.
- Evitar perder o progresso de um comando por causa de uma queda de conexão.
E é isso! Com o screen ou o tmux, você ganha muito mais tranquilidade pra trabalhar via SSH sem medo de perder o que estava rodando. Se tiver qualquer dúvida na hora de aplicar, é só chamar o suporte da GeHost pelo painel.gehost.com.br que a gente te ajuda. 🙌