nohup: ignorowanie danych wejściowych - co to znaczy?

18

Używam nohuppolecenia od jakiegoś czasu

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

W nohup.errpliku zawsze mam linię nohup: ignoring input. Czy możesz mi pomóc dowiedzieć się, co to znaczy?

gwiazda
źródło
Jeśli zamierzasz dokonać przekierowań sam, prawie nie ma nohupw ogóle sensu ; bash life.bash >life.out 2>life.err </dev/null & disown -h "$!"robi to samo, używając tylko funkcji wbudowanych w samą powłokę.
Charles Duffy

Odpowiedzi:

14

To tylko nohupmówi ci, co jest skonfigurowane; wyprowadza to do standardowego błędu, na który przekierowałeś nohup.err. Możesz uniknąć wiadomości, przekierowując jej standardowe wejście:

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

nohupsprawdza standardowe wejście, standardowe wyjście i standardowy błąd, aby zobaczyć, które są podłączone do terminala; jeśli znajdzie jakieś, które są podłączone, traktuje je odpowiednio (ignorując dane wejściowe, przekierowując dane wyjściowe nohup.out, przekierowując błąd na standardowe dane wyjściowe) i mówi, co zostało zrobione. Jeśli nie znajdzie niczego, czego potrzebuje do rozłączenia, nie wysyła niczego samodzielnie.

Stephen Kitt
źródło
6

nohup mówi dokładnie, co robi, że ignoruje dane wejściowe.

Jeśli chcesz uniknąć tej wiadomości, przekieruj stdin z /dev/nulltego w ten sposób

nohup bash life.bash </dev/null >nohup.out 2>nohup.err &
roaima
źródło
Mam nadzieję, że to oznacza, że ​​ignoruje wszystkie dane wprowadzane z klawiatury w prostym znaczeniu, ponieważ działa w tle.
Manohar Reddy Poreddy
3
man nohup

„Jeśli standardowym wejściem jest terminal, przekieruj go z nieczytelnego pliku.”

W związku z tym,

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

Robi to, co powinien, niezależnie od wpisów OPCJI , dlatego dane wejściowe są odrzucane.

RÓWNIEŻ Wygląda na to, że redundantnie korzystasz z przekierowania. nohup już tworzy dla ciebie nohup.out, a jeśli wszystko działa OK, stderr również powinien zostać tam przekierowany.

Twoje zdrowie!

Mario G.
źródło