Como usar screen ou tmux para manter um processo rodando após desconectar do SSH
Olá, viajante do servidor! 🌟
Se você já se deparou com a dor de estar executando um comando importante no seu servidor — como um script de backup, um servidor de aplicação ou um processo de atualização — e, ao fechar o terminal ou perder a conexão SSH, tudo parou… então esse guia é pra você!
Na GeHost, sabemos que o seu tempo e seu trabalho são preciosos. Por isso, vamos te ensinar como usar duas ferramentas poderosas — screen e tmux — para deixar seus processos rodando mesmo quando você sair do SSH. É como deixar um amigo cuidando da sua tarefa enquanto você dorme! 😴
Por que isso é importante?
Quando você se conecta ao servidor via SSH, o processo roda dentro da sua sessão. Se a conexão cair (por internet instável, fechar o terminal ou até um simples reinício do computador), o processo morre. Mas com screen ou tmux, você cria uma "sessão virtual" que continua rodando mesmo sem você estar conectado.
Sensei diz: "O servidor não sabe que você saiu. Ele só sabe que o processo está rodando. É como deixar um carro em marcha com o motor ligado — enquanto o carro não for desligado, ele continua funcionando."
Passo a passo: Como usar screen
Primeiro, vamos usar screen — mais simples para quem está começando.
Conecte-se ao seu servidor via SSH. Você pode usar qualquer cliente (Terminal, PuTTY, etc.).
Para iniciar uma nova sessão do screen, digite:
screen -S meu_processoSubstitua
meu_processopor um nome que lembre o que você está fazendo (ex:backup_site,servidor_node).Agindo como se estivesse no terminal normal, execute o comando que você quer manter rodando. Por exemplo:
python3 meu_script.pyPara sair da sessão sem parar o processo, use o atalho:
Ctrl + A, depois pressione DIsso "desanexa" a sessão. Você verá uma mensagem como:
Detached (was screen -S meu_processo).Seu processo continua rodando no servidor, mesmo sem você conectado!
Para voltar à sessão mais tarde, digite:
screen -r meu_processoSe tiver mais de uma sessão ativa, use
screen -lspara listar todas e escolher a correta.
Passo a passo: Como usar tmux (alternativa moderna)
Se você gosta de algo mais atualizado e com mais recursos, tmux é uma ótima escolha.
Conecte-se ao servidor via SSH.
Crie uma nova sessão com:
tmux new -s meu_processoNovamente, use um nome que faça sentido para você.
Execute seu comando normalmente:
node app.jsPara sair da sessão sem parar o processo, pressione:
Ctrl + B, depois pressione DAssim, você "desanexa" a sessão.
Para voltar à sessão mais tarde, use:
tmux attach -t meu_processoSe tiver várias sessões, use
tmux lspara ver a lista.
Como verificar se o processo está rodando
Depois de deixar o processo rodando, você pode verificar se ele ainda está ativo com:
ps aux | grep nome_do_seu_processoSe estiver usando um script ou aplicação, veja se ele aparece na lista de processos.
Dicas do Sensei da GeHost
Se você não tiver screen ou tmux instalado, é só pedir ao suporte (ou verificar no painel do cliente — painel.gehost.com.br) se essas ferramentas estão disponíveis em seu plano. Na maioria dos casos, estão.
Evite usar comandos que pedem interação (como
sudocom senha) dentro de sessões desanexadas. Prefira scripts automatizados.Se o processo parar sozinho, verifique os logs do seu aplicativo. Às vezes, o erro está no código, não na conexão.
Quer mais ajuda?
Se você está com dúvidas sobre como usar o SSH, como gerenciar arquivos, ou quer um passo a passo personalizado, é só entrar em contato com o nosso suporte. Estamos aqui para te ajudar, com carinho e atenção.
Seu sucesso é o nosso propósito. 💚
GeHost — hospedagem com alma, feita com amor.
Grupo: G e Soluções e Eventos LTDA (CNPJ: 46.647.904/0001-04)
Raphael Neves Koga — dono desde 2015.