nohup: mengabaikan input - apa artinya?

16

Saya menggunakan nohupperintah dari beberapa saat

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

Dalam nohup.errfile saya selalu punya garis nohup: ignoring input. Bisakah Anda membantu saya mencari tahu apa artinya?

bintang
sumber
Jika Anda akan melakukan pengalihan sendiri, Anda hampir tidak ada gunanya nohupsama sekali; bash life.bash >life.out 2>life.err </dev/null & disown -h "$!"melakukan hal yang sama hanya menggunakan fungsionalitas yang dibangun ke dalam shell itu sendiri.
Charles Duffy

Jawaban:

12

Itu hanya nohupmemberi tahu Anda apa yang sudah diatur; itu menghasilkan kesalahan standar, yang Anda arahkan ke nohup.err. Anda dapat menghindari pesan dengan mengarahkan ulang input standarnya:

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

nohupmemeriksa input standar, output standar, dan kesalahan standar untuk melihat mana yang terhubung ke terminal; jika menemukan apa pun yang terhubung, ia menanganinya sesuai (mengabaikan input, mengarahkan ulang output nohup.out, mengarahkan kesalahan ke output standar), dan memberi tahu Anda apa yang dilakukan. Jika tidak menemukan apa pun yang perlu diputuskan, itu tidak menghasilkan apa pun itu sendiri.

Stephen Kitt
sumber
6

nohup memberi tahu Anda apa yang dilakukannya, bahwa itu mengabaikan input.

Jika Anda ingin menghindari pesan ini, redirect stdin dari /dev/nullseperti ini

nohup bash life.bash </dev/null >nohup.out 2>nohup.err &
roaima
sumber
Saya harap itu berarti, mengabaikan semua input keyboard dalam arti sederhana karena berjalan di latar belakang.
Manohar Reddy Poreddy
3
man nohup

"Jika input standar adalah terminal, arahkan kembali dari file yang tidak dapat dibaca."

Karenanya,

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

Itu melakukan apa yang seharusnya dilakukan, meskipun entri OPSI , itu sebabnya input sedang dibuang.

JUGA Tampaknya Anda menggunakan redirection secara berlebihan. nohup sudah membuat nohup.out untuk Anda dan, jika semua berfungsi OK, stderr juga harus diarahkan ke sana.

Bersulang!

Mario G.
sumber