Como configurar screen ou tmux para manter processos rodando após fechar a sessão SSH
Olá, amigo(a) desenvolvedor(a) e curioso(a) do mundo da web! Aqui é o Sensei da GeHost — seu companheiro de jornada na estrada da hospedagem segura, simples e poderosa. 🌟
Quando você trabalha com servidores via SSH, é comum precisar rodar tarefas que levam tempo: um script de backup, um processo de envio de e-mails em massa, uma aplicação em segundo plano… Mas e se você fechar a sessão SSH por acidente? Tudo para, né?
Não se preocupe! Com screen ou tmux, você pode “colocar o processo para andar sozinho” no servidor — mesmo que você saia da sessão. É como deixar um carro ligado no estacionamento enquanto você vai tomar um café. ☕
Hoje, vamos aprender isso com calma, passo a passo, como se fosse um ritual de aprendizado entre mestre e discípulo. Vamos lá?
Antes de começar: o que você precisa
- Um acesso SSH ao seu servidor (via terminal ou cliente como PuTTY, Terminal, etc.).
- Permissão para instalar pacotes (no caso de tmux, pode ser necessário).
- Conhecimento básico de comandos no terminal (não se preocupe — vamos explicar tudo).
Passo 1: Escolha entre screen ou tmux
Os dois fazem a mesma coisa, mas tmux é mais moderno e flexível. No entanto, screen vem instalado por padrão em muitos servidores da GeHost. Vamos usar os dois, mas começaremos com screen por ser mais simples para iniciantes.
Passo 2: Iniciar uma sessão screen
Conecte-se ao seu servidor via SSH e digite:
screen
Pronto! Você agora está dentro de uma sessão screen. Perceba que o prompt mudou — agora você está em um ambiente isolado do seu terminal principal.
Dica do Sensei: Se o comando
screennão for encontrado, pode ser que precise instalar. No Linux, use:sudo apt install screen(Debian/Ubuntu) ousudo yum install screen(CentOS/RHEL). Consulte seu plano no painel para verificar permissões.
Passo 3: Execute seu processo
Agora, execute o comando que você quer manter rodando. Por exemplo:
python3 meu_script.py
ou
php artisan queue:work
Seu processo começou! E agora, mesmo que você feche a sessão SSH, ele continua rodando.
Passo 4: Saia da sessão sem parar o processo
Para sair da sessão screen sem matar o processo, use os seguintes passos:
- Pressione Ctrl + A (mantenha pressionado).
- Depois, pressione D (para "detach" — desanexar).
Pronto! Você foi desanexado da sessão, mas o processo continua rodando no servidor.
Dica do Sensei: Você pode usar
screen -lspara ver todas as sessões ativas. Se precisar voltar, usescreen -r(reconectar).
Passo 5: Usando tmux (alternativa mais moderna)
Se preferir usar tmux, os passos são parecidos:
- Abra o terminal e digite:
tmux - Execute seu processo:
python3 meu_script.py - Para sair sem parar: Ctrl + B, depois D
- Para voltar:
tmux attachoutmux attach-session
Para listar sessões: tmux ls
Passo 6: Verifique se o processo está rodando
Para confirmar que seu processo está vivo, use:
ps aux | grep nome_do_processo
Exemplo:
ps aux | grep python
Se aparecer algo como python3 meu_script.py na lista, está tudo certo!
Conclusão: Seu processo está livre!
Parabéns, Sensei iniciante! 🎉 Agora você sabe como manter seus processos rodando no servidor mesmo após fechar a sessão SSH.
Use screen ou tmux com sabedoria. E lembre-se: o servidor é seu aliado — cuide dele com respeito, e ele cuidará de você.
Se tiver dúvidas, não hesite. Acesse o painel do cliente ou entre em contato com nosso suporte. Estamos aqui para ajudar — com calor, paciência e dedicação.
Até a próxima jornada, com código limpo e coração leve. 🙏
GeHost — hospedagem que entende de você, do seu domínio e do seu futuro. Grupo: G e Soluções e Eventos LTDA (CNPJ: 46.647.904/0001-04)