nohup: girişi yoksaymak - bu ne anlama geliyor?


18

nohupBir süredir komut kullanıyorum

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

Gelen nohup.errdosyanın Hep bir çizgi var nohup: ignoring input. Bunun ne anlama geldiğini anlamama yardım eder misiniz?


Yeniden yönlendirmeleri kendiniz yapacaksanız, neredeyse hiç faydası yoktur nohup; bash life.bash >life.out 2>life.err </dev/null & disown -h "$!"aynısını yalnızca kabuğun kendisine yerleşik işlevselliği kullanarak yapar.
Charles Duffy

Yanıtlar:


14

Bu sadece nohupne ayarlandığını anlatıyor; bunu yeniden yönlendirdiğiniz standart hatasına gönderir nohup.err. Standart girişini yeniden yönlendirerek iletiden kaçınabilirsiniz:

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

nohuphangisinin bir terminale bağlı olduğunu görmek için standart girişini, standart çıkışını ve standart hatasını kontrol eder; bağlı olanları bulursa, bunları uygun şekilde ele alır (girişi yok saymak, çıkışı nohup.outyeniden yönlendirmek, hatayı standart çıktıya yeniden yönlendirmek) ve ne yaptığını size söyler. Bağlantısının kesilmesi gereken bir şey bulamazsa, hiçbir şeyin kendisini vermez.


6

nohup size tam olarak ne yaptığını, girdiyi görmezden geldiğini söylüyor.

Bu iletiyi yönlendirme kaçınmak istiyorsanız Stdin gelen /dev/nullböyle

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

Umarım bu, arka planda çalıştığı gibi tüm klavye girişlerini basit anlamda görmezden gelir.
Manohar Reddy Poreddy

3
man nohup

"Standart giriş bir terminalse, okunamayan bir dosyadan yeniden yönlendirin."

Bu nedenle,

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

OPTION girişlerine rağmen yapması gerekeni yapıyor , bu yüzden girdi atılıyor.

AYRICA , yeniden yönlendirmeyi fazla kullanıyorsunuz gibi görünüyor. nohup zaten sizin için bir nohup.out oluşturur ve eğer her şey yolunda giderse, stderr da oraya yönlendirilmelidir.

Şerefe!

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.