[USER@SERVER ~] sleep 3 &
[1] 5232
[USER@SERVER ~]
[1]+ Done sleep 3
[USER@SERVER ~]
Comment puis-je / dev / null ces deux messages?:
[1] 5232
[1]+ Done sleep 3
ps: j'ai donc besoin de la sortie du processus, mais pas des deux lignes mentionnées!
Réponses:
Ce n'est pas la sortie du programme, ce sont des informations utiles sur le shell.
Quoi qu'il en soit, ceux-ci peuvent être masqués en utilisant la redirection de sous-coque et de sortie
la source
En bash ou zsh, vous pouvez appeler
disown %1
pour dire au shell d'oublier le travail. Ensuite, le shell n'imprimera aucun message sur ce travail, ni ne l'affichera lorsque vous l'exécuterezjobs
ou lui enverrez un SIGHUP. Dans zsh, démarrer le travail avec&!
au lieu de&
revient à l'appelerdisown
immédiatement.la source
Je ne peux pas (encore) commenter @Gilles mais il semble que cela
& disown
fonctionne aussi en bash:la source
Essayer:
Et vous avez masqué à la fois la sortie et le PID . Notez que vous pouvez toujours récupérer le PID à partir de $ REPLY
la source