Можно ли остановить вывод команды после bg?


8

Предположим, такая ситуация

wget http://file 

wget начинает скачивать файл.

Я поставил это на заднем плане.

^Z
bg

Команда уходит в фон.

Но его вывод все еще на консоли - если консоль все еще открыта.

Можно ли остановить вывод команды?

Wget - только пример; Подумайте о команде, которая пишет много выходных данных.

На консоли я знаю, что можно сделать, bgа затем закрыть терминал и открыть другой, но что, если у меня есть только один доступный терминал и нет псевдотерминалов?


Ответы:


2

Вот решение, которое фактически перенаправляет вывод команды во время ее выполнения: /superuser/732503/redirect-stdout-stderr-of-a-background-job-from-console-to-a- лог-файл

Для решения, которое более пригодно для повседневного использования терминала, вы можете wget -o log http://file & запустить его wgetв фоновом режиме и записать его вывод logвместо вашего терминала. Конечно, в этом случае вы вообще не увидите никаких выходных данных (даже если вы работали wgetна переднем плане), но вы можете tail -f logпосмотреть, как они растут.


2

Вы имеете в виду, что хотите, чтобы wget (или другой cmd) работал в фоновом режиме, не выводя сообщения на консоль? Если это вопрос, вы можете попробоватьredirection

$ wget http://file > /dev/null

ЦМД выше будет перенаправить stdoutк , /dev/nullи вы не будете видеть сообщения , за исключением сообщений об ошибках. Если вы не хотите видеть сообщения об ошибках, попробуйте это

$ wget http://file 1>/dev/null 2>&1

Вы можете Google redirectionдля более подробной информации.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.