Todos os produtos
Search
Central de documentação

:Manter processos em execução no Linux após desconexão SSH

Última atualização: Jul 03, 2026

Escolha uma solução

Para manter um comando em execução após o encerramento da sessão SSH, escolha uma das soluções a seguir:

Solução 1: Usar os comandos nohup e &

O comando nohup permite que um processo continue em execução mesmo após o fechamento do terminal, enquanto o símbolo & envia o processo para segundo plano.

  1. Execute o comando em segundo plano.

    Este comando redireciona tanto a saída quanto os erros para [your_log_file].

    sudo nohup [your_command] >[your_log_file] 2>&1 &
    Por exemplo, para executar bash hello.sh em segundo plano e gravar a saída em um novo arquivo chamado output.log no diretório atual, execute o seguinte comando: sudo nohup bash hello.sh > output.log 2>&1 & .
  2. Visualize a saída do comando.

    sudo tail -f [your_log_file]
  3. Encerre o processo.

    Importante

    A finalização do processo encerra o comando ou tarefa. Prossiga com cautela.

    1. Localize o ID do processo (PID). Substitua [your_command] pelo comando executado na Etapa 1.

      sudo ps aux | grep "[your_command]"
      Por exemplo, se você executou sudo nohup bash hello.sh > output.log 2>&1 & , execute sudo ps aux | grep "bash hello.sh" para encontrar o PID correspondente.
    2. Use o comando sudo kill [PID] para finalizar o processo.

Solução 2: Usar GNU screen

  1. Instale o GNU screen.

    • Para Alibaba Cloud Linux e CentOS

      sudo yum install -y screen
    • Para Debian e Ubuntu

      sudo apt-get install -y screen
  2. Crie e insira uma nova sessão.

    [Name] é um nome personalizado para sua sessão.

    screen -S [Name]
    Por exemplo, para criar uma sessão chamada mysession , execute sudo screen -S mysession .
  3. Execute sua tarefa na nova sessão.

  4. Desconecte a sessão.

    Pressione Ctrl+A+D para desconectar a sessão screen atual.

  5. Retome a sessão.

    1. Liste as sessões screen disponíveis para encontrar o PID da sessão desejada.

      sudo screen -ls
      There is a screen on:
              2046.mytask     (Detached)
      1 Socket in /run/screen/S-root.

      Neste exemplo, o PID da sessão é 2046.

    2. Retome a sessão.

      Substitua [PID] pelo PID da sessão obtido na etapa anterior.

      sudo screen -r -d [PID]
      Por exemplo, para retomar a sessão com PID 2046, execute sudo screen -r -d 2046 .
  6. Finalize a sessão.

    Importante

    A finalização de uma sessão também encerra todas as tarefas e comandos em execução nela. Prossiga com cautela.

    Substitua [PID] pelo PID da sessão.

    sudo kill [PID]