SSH & Avançado 1 visualizações

Como usar screen ou nohup para deixar um script rodando após encerrar a sessão SSH

Ver no WHMCS

Como usar screen ou nohup para deixar um script rodando após encerrar a sessão SSH

Olá, querido(a) cliente da GeHost! 🌟

Você já precisou rodar um script no servidor — talvez um backup, um processamento de dados ou um sistema de atualização — e, ao fechar a sessão SSH, percebeu que o script parou? 😬 Não se preocupe! Isso é comum, mas tem solução. Vamos te ensinar, de forma simples e prática, como usar duas ferramentas poderosas do Linux: screen e nohup. Elas garantem que seu script continue rodando mesmo após você sair do terminal. Vamos lá, com calma e foco — você é capaz! 💪 ---

Antes de começar: o que você precisa saber

Antes de usar qualquer comando, é bom lembrar:

  • Seu servidor da GeHost é baseado em Linux e usa o cPanel.
  • Para acessar o servidor, você usa o SSH (via terminal ou cliente como PuTTY, Termius, etc.).
  • Seu script precisa estar no servidor (por exemplo, na pasta public_html ou em um diretório personalizado).

Se você ainda não sabe como se conectar via SSH, pode consultar nosso guia “Conectando-se ao servidor via SSH” no painel do cliente.

---

Opção 1: Usar screen — o “ambiente virtual” para scripts

Imagine o screen como uma janela virtual que permanece aberta mesmo quando você fecha o terminal. É perfeito para scripts longos.

  1. Crie uma nova sessão screen com um nome fácil de lembrar:
  2. screen -S meu_script

    Substitua meu_script por um nome que faça sentido para você (ex: backup_diario).

  3. Execute seu script dentro dessa sessão:
  4. php /home/usuario/meu_script.php

    Substitua o caminho pelo caminho real do seu script.

  5. Pressione Ctrl + A, depois D para desconectar da sessão sem parar o script.
  6. Isso é como "salvar e sair" — o script continua rodando no fundo!

  7. Para voltar à sessão mais tarde, use:
  8. screen -r meu_script

    Você verá o progresso do script como se nunca tivesse saído.

  9. Se quiser fechar a sessão, digite exit dentro da tela, ou use screen -S meu_script -X quit.

Dica do Sensei: Use screen -ls para ver todas as sessões ativas. Assim você não perde o controle!

---

Opção 2: Usar nohup — o “script que ignora o sinal de morte”

Se você prefere algo mais direto, o nohup é sua melhor amiga. Ele significa “no hang up” — ou seja, “não se importa se o terminal for fechado”.

  1. Execute seu script com nohup:
  2. nohup php /home/usuario/meu_script.php > saida.log 2>&1 &

    Explicando:

    • nohup — garante que o script continue rodando.
    • > saida.log — salva a saída (mensagens de erro e sucesso) em um arquivo.
    • 2>&1 — redireciona erros para o mesmo arquivo.
    • & — roda em segundo plano.
  3. Depois de executar, você pode fechar o terminal com segurança.
  4. O script continua rodando no servidor!

  5. Para verificar o progresso, use:
  6. tail -f saida.log

    Isso mostra as últimas linhas do arquivo — como um “olhar por cima” do que está acontecendo.

  7. Se quiser parar o script, você precisa encontrar o processo com ps aux | grep php e depois usar kill [ID].

Dica do Sensei: Sempre nomeie o arquivo de log com algo claro, como backup.log ou processamento_2025.log. Assim, você não se perde!

---

Como saber se o script está rodando?

Use o comando:

ps aux | grep nome_do_seu_script

Substitua nome_do_seu_script pelo nome do arquivo ou pelo comando que você usou.

Se aparecer algo como php /home/usuario/meu_script.php, seu script está vivo! 🎉

---

Conclusão: escolha o que te faz mais confortável

Se você quer controlar o script como se fosse uma janela aberta, use screen. Ideal para scripts longos ou que precisam de interação.

Se você quer simplesmente rodar e sair, sem se preocupar, use nohup. Perfeito para tarefas automáticas.

💡 Importante: Lembre-se de que, mesmo com essas ferramentas, seu script só roda enquanto o servidor estiver ligado. Na GeHost, isso é garantido 24/7 — mas sempre verifique seu plano no painel.

---

Quer ajuda extra?

Se tiver dúvidas, entre em contato com nosso suporte — estamos aqui para te ajudar! 🤝

Seu acesso ao painel: painel.gehost.com.br

Se precisar de um orçamento, consulte os planos disponíveis lá. Todos incluem e-mail profissional, domínio e suporte técnico.

Com carinho,
Sensei da GeHost
*Grupo: G e Soluções e Eventos LTDA (CNPJ: 46.647.904/0001-04)*

Precisa de Ajuda?

Nossa equipe está pronta para resolver suas dúvidas.