Existe uma maneira de redirecionar a saída nohup para um arquivo de log diferente de nohup.out?

86

Eu freqüentemente uso o programa nohup para que meus processos sejam imunes a restrições. Então, se eu quiser fazer o programa program imune a hangups, eu uso o comando

nohup program &

onde & coloca o processo em segundo plano.

Ao iniciar, nohup me passa a mensagem:

nohup: appending output to 'nohup.out'

Existe alguma maneira de enviar a saída para um arquivo diferente de nohup.out ? Muitas vezes, quero executar muitos processos no mesmo diretório usando nohup , mas se eu fizer isso, toda a saída será agrupada em um único arquivo nohup.out .

A página de manual (por exemplo, aqui ) não parece ter uma opção para especificar o arquivo de log. Você pode por favor confirmar isso? Além disso, você tem alguma idéia de como eu posso contornar esse problema?

    
por Andrew 20.08.2012 / 18:14

1 resposta

104

A página man do GNU coreutils nohup indica que você pode usar o redirecionamento normal:

If standard input is a terminal, redirect it from /dev/null. If standard output is a terminal, append output to 'nohup.out' if possible, '$HOME/nohup.out' otherwise. If standard error is a terminal, redirect it to standard output. To save output to FILE, use 'nohup COMMAND > FILE'.

Editar: não li seu link no começo; você pode ter uma versão diferente de nohup , embora esta seção sugira que você ainda pode usar o redirecionamento normal:

 nohup.out          The output file of the nohup execution if
                    standard  output is a terminal and if the
                    current directory is writable.

Você pode redirecionar a saída padrão e o erro padrão para arquivos diferentes:

nohup myprogram > myprogram.out 2> myprogram.err

ou para o mesmo arquivo:

nohup myprogram > myprogram.out 2>&1
    
por 20.08.2012 / 18:38