Como redirecionar a saída do script para um arquivo de texto e continuar apesar do logout

1

Qual é a diferença entre:

nohup bin/admin/release.sh > /users/john/release_output 2>&1 &

e

bin/admin/release.sh > /users/john/release_output &

Eu quero rodar o release.sh e executá-lo no backround (ele deve continuar funcionando mesmo se eu fechar a janela do shell), também quero salvar a saída no release_output no meu diretório home (/ users / john /)

    
por alwbtc 30.07.2012 / 10:46

2 respostas

2

  • O & à direita executa o processo em segundo plano. O aspecto importante disso é que você recebe um prompt de comando de volta sem esperar que o script seja concluído e, portanto, pode emitir um comando de logout sem esperar.
  • O 2>&1 garante que o processo não receba um sinal de "pipeline interrompido" quando o destino do STDERR (o terminal / tty) é desconectado (mas acho que nohup pode cuidar disso). Você poderia redirecionar o STDERR para um arquivo separado, se preferir.
  • nohup garante que o processo não receba um sinal de HUP (hangup) quando a sessão de terminal associada é fechada.

Se você ler a página de manual de nohup , verá que ela foi criada especificamente para o que você deseja fazer.

    
por 30.07.2012 / 12:10
0

Se você deseja executá-lo em segundo plano e continuar executando até mesmo o logout do usuário, então nohup está lá para você.

    
por 30.07.2012 / 10:52

Tags