[USER@SERVER ~] sleep 3 &
[1] 5232
[USER@SERVER ~]
[1]+ Done sleep 3
[USER@SERVER ~]
Как мне / dev / null эти два сообщения ?:
[1] 5232
[1]+ Done sleep 3
PS: так мне нужен вывод процесса, а не упомянутые две строки!
Ответы:
Это не вывод программы, это полезная информация оболочки.
В любом случае, их можно скрыть, используя subshell и перенаправление вывода
источник
В bash или zsh вы можете позвонить,
disown %1
чтобы сказать оболочке забыть о работе. Тогда оболочка не будет печатать никаких сообщений об этом задании и не будет показывать его при запускеjobs
или отправке SIGHUP. В zsh запуск задания&!
вместо вместо&
эквивалентенdisown
немедленному вызову .источник
Не могу прокомментировать (пока) @Gilles, но похоже, что это
& disown
работает и в bash:источник
Пытаться:
И вы скрыли и вывод, и PID . Обратите внимание, что вы все равно можете получить PID из $ REPLY
источник