Como usar screen ou tmux para manter processos rodando após desconectar do SSH
Olá, amigo(a) GeHost! Se você já se desligou de um servidor via SSH e perdeu um processo importante — como um download, um script de backup ou um servidor de aplicação — sabe bem como isso dói. 😅
Calma! A Sensei da GeHost está aqui para te ajudar. Com screen ou tmux, você pode criar sessões persistentes no servidor que continuam rodando mesmo depois de sair do SSH. É como deixar um carro ligado no estacionamento enquanto você vai fazer compras — o motor continua funcionando!
Esse guia é feito especialmente para quem está começando. Vamos com calma, passo a passo, como um bom treinamento de mestre ninja. 🥷
Antes de começar: o que você precisa
- Conexão SSH com seu servidor (via terminal, Putty, Terminal do Mac ou Linux).
- Permissão de acesso ao shell (bash).
- Conhecimento básico de comandos como
cd,lsepwd.
Dica ninja: Se você ainda não sabe como se conectar via SSH, pode consultar nosso guia "Como acessar o servidor via SSH" — está aqui no nosso Centro de Ajuda.
Passo 1: Conecte-se ao servidor via SSH
Abra seu terminal ou cliente SSH (como PuTTY ou Terminal) e digite:
ssh seu_usuario@seu_servidor
Substitua seu_usuario e seu_servidor pelos dados reais da sua conta. Após autenticar, você estará dentro do servidor.
Passo 2: Escolha entre screen ou tmux
Os dois são ferramentas poderosas. Vamos explicar as duas, mas você pode escolher uma. A maioria dos usuários prefere tmux por ser mais moderno e fácil de usar. Vamos começar com tmux.
Passo 3: Criar uma sessão com tmux (recomendado)
Depois de conectado, digite:
tmux new-session -s minhas_tarefas
Isso cria uma nova sessão chamada minhas_tarefas. Você pode escolher qualquer nome, como backup, server ou projeto. O importante é lembrar do nome!
Pronto! Você agora está dentro de uma sessão que persiste mesmo se sair do SSH.
Passo 4: Execute seu processo
Agindo como se estivesse no terminal normal, execute o comando que você quer que continue rodando:
./meu_script.sh
Ou:
python3 servidor.py
Seu processo começou. Agora, para sair da sessão sem parar o processo, pressione:
- Ctrl + B, depois D
Isso detacha a sessão — você pode sair do SSH com segurança.
Atenção: Não use
Ctrl + Caqui! Isso interrompe o processo. UseCtrl + B+Dpara sair com segurança.
Passo 5: Verifique se o processo está rodando
Quando quiser voltar à sessão, conecte-se novamente via SSH e digite:
tmux attach-session -t minhas_tarefas
Substitua minhas_tarefas pelo nome da sessão que criou.
Se quiser ver todas as sessões ativas, digite:
tmux list-sessions
Passo 6: Alternativa com screen (para quem prefere)
Se quiser usar screen em vez de tmux, os passos são quase iguais:
- Crie uma sessão:
screen -S minhas_tarefas - Execute seu processo.
- Para sair sem parar: Ctrl + A, depois D
- Para voltar:
screen -r minhas_tarefas - Ver todas:
screen -ls
É um pouco diferente, mas funciona igualmente bem.
Como saber se está tudo certo?
Depois de sair do SSH, você pode:
- Verificar o processo com
ps aux | grep nome_do_processo. - Verificar logs ou arquivos gerados pelo script.
- Reconectar com
tmux attach-session -t nome_da_sessaopara ver o andamento.
Dicas extras da Sensei
- Nomeie suas sessões com nomes úteis: Use
backup,app,monitor— assim é mais fácil lembrar depois. - Não feche o terminal sem usar
Ctrl + B+D: Isso evita que o processo pare. - Use logs: Redirecione saída para arquivos:
./script.sh > log.txt 2>&1. - Se tiver dúvidas: Acesse nosso Centro de Ajuda ou fale com nosso suporte — estamos aqui para te ajudar!
Parabéns! Agora você é um verdadeiro ninja do servidor. 🌟
Seu processo não morre com a desconexão. Ele vive. Ele funciona. Ele é persistente.
Até a próxima, com energia e código limpo! 💻✨