Saindo do terminal executando "nohup ./my_script &" => "Você está executando trabalhos". OK para sair?

12

Digamos que eu execute o seguinte em uma caixa remota com a idéia de impedir a interrupção do trabalho quando eu desconectar o terminal.

nohup ./my_script.sh &

Quando tento sair do meu terminal, recebi o seguinte aviso:

zsh: you have running jobs

Eu presumo que está tudo bem. Está apenas me dizendo que tenho um trabalho / processo em execução em segundo plano. Se eu desconectar o terminal, o trabalho / processo continuará sendo executado, correto?

Amelio Vazquez-Reina
fonte
Eu descobri que o nohup do zsh está quebrado e não faz o que você deseja. O repúdio funciona na maioria das vezes. Embora uma vez eu tenha tido um problema ao tentar usar o disown com o ffmpeg no zsh, iniciei um shell bash e executei o nohup dentro dele.
Sridhar Sarnobat

Respostas:

18

Sim, tudo bem. O processo filho receberá um sinal HUP, mas o processo não será interrompido graças ao seu nohup.

Se você não quiser ver essa mensagem, simplesmente passe o ID do trabalho disownpara:

disown %1

Ou, inicie o trabalho com &!(truque específico do zsh):

nohup ./my_script.sh &!
alienth
fonte