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?


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 &!
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.