nohup: ignorer l'entrée - qu'est-ce que cela signifie?

16

J'utilise la nohupcommande depuis un moment comme

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

Dans le nohup.errfichier, j'ai toujours une ligne nohup: ignoring input. Pouvez-vous m'aider à comprendre ce que cela signifie?

étoile
la source
Si vous allez faire les redirections vous-même, vous n'avez presque aucune utilité du nohuptout; bash life.bash >life.out 2>life.err </dev/null & disown -h "$!"fait de même en utilisant uniquement les fonctionnalités intégrées au shell lui-même.
Charles Duffy

Réponses:

12

C'est juste nohupvous dire ce qu'il est mis en place; il renvoie cela à son erreur standard, vers laquelle vous avez redirigé nohup.err. Vous pouvez éviter le message en redirigeant son entrée standard:

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

nohupvérifie son entrée standard, sa sortie standard et son erreur standard pour voir lesquels sont connectés à un terminal; s'il en trouve qui sont connectés, il les traite comme il convient (en ignorant l'entrée, en redirigeant la sortie vers nohup.out, en redirigeant l'erreur vers la sortie standard), et vous indique ce qu'il a fait. S'il ne trouve rien dont il a besoin pour se déconnecter, il ne produit rien lui-même.

Stephen Kitt
la source
6

nohup vous dit exactement ce qu'il fait, qu'il ignore les entrées.

Si vous voulez éviter ce message, redirection stdin de /dev/nullcomme celui - ci

nohup bash life.bash </dev/null >nohup.out 2>nohup.err &
roaima
la source
J'espère que cela signifie, son ignore toutes les entrées au clavier dans un sens simple comme son fonctionnement en arrière-plan.
Manohar Reddy Poreddy
3
man nohup

"Si l'entrée standard est un terminal, redirigez-le depuis un fichier illisible."

Par conséquent,

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

Il fait ce qu'il est censé faire, malgré les entrées OPTION , c'est pourquoi l'entrée est rejetée.

AUSSI Il semble que vous faites un usage redondant de la redirection. nohup crée déjà un nohup.out pour vous et, si tout fonctionne bien, stderr devrait également y être redirigé.

À votre santé!

Mario G.
la source