nohup: ignorando entrada - o que isso significa?

9

Estou usando o comando nohup de um tempo como

nohup bash life.bash > nohup.out 2> nohup.err &

No arquivo nohup.err eu sempre tenho uma linha nohup: ignoring input . Você pode por favor me ajudar a descobrir o que isso significa?

    
por star 28.07.2017 / 15:50

3 respostas

10

Isso é apenas nohup informando o que está configurado. O resultado é o erro padrão, que você redirecionou para nohup.err . Você pode evitar a mensagem redirecionando sua entrada padrão:

nohup bash life.bash > nohup.out 2> nohup.err < /dev/null &

nohup verifica sua entrada padrão, saída padrão e erro padrão para ver quais estão conectados a um terminal; se encontrar algum que esteja conectado, ele será manipulado conforme apropriado (ignorando a entrada, redirecionando a saída para nohup.out , redirecionando o erro para a saída padrão) e informando o que foi feito. Se não encontrar nada, é necessário desconectar, não produz nada em si.

    
por 28.07.2017 / 15:53
5

nohup está lhe dizendo exatamente o que está fazendo, que está ignorando a entrada.

Se você quiser evitar essa mensagem, redirecione stdin de /dev/null assim

nohup bash life.bash </dev/null >nohup.out 2>nohup.err &
    
por 28.07.2017 / 15:55
2
man nohup

"Se a entrada padrão é um terminal, redirecione-a de um arquivo ilegível."

Por isso,

nohup: ignoring input and appending output to 'nohup.out'

Ele está fazendo o que deve fazer, não obstante as entradas OPTION , é por isso que a entrada está sendo descartada.

TAMBÉM Parece que você está fazendo uso redundante de redirecionamento. O nohup já cria um nohup.out para você e, se tudo estiver funcionando bem, o stderr também deve ser redirecionado para lá.

Felicidades!

    
por 28.07.2017 / 16:16

Tags