Получение информации из запущенного процесса

Я часто заставляю процесс не отображать их вывод, чтобы мне было легче запускать несколько из них в фоновом режиме, например:

youtube-dl -f 22 https://www.youtube.com/watch?v=oyg0xYH12Qg &>/dev/null &

без &> / dev / null они отображают информацию в оболочке, такую ​​как

[download]  69.5% of 1.34GiB at 360.36KiB/s ETA 19:53

Что, если я хочу узнать эту информацию с помощью команды?

0
задан 11 April 2021 в 11:37

1 ответ

Если вы отправляете вывод команды в / dev / null , он пропадает, и вы не можете его получить. Вероятно, было бы лучше отправить результат в место, которое не мешает вам, но где вы можете найти его, если вам нужно.

На ум приходят несколько вариантов: если вы работаете с графическим интерфейсом, вы можете просто использовать отдельное окно эмуляции терминала и минимизировать его. Некоторые эмуляторы терминала также предлагают вкладки. При этом вы можете запустить загрузку (или любую другую команду) на одной вкладке и выполнить другую работу на другой вкладке.

В TUI (текстовом пользовательском интерфейсе) решением может быть терминальный мультиплексор, такой как GNU screen или tmux . С их помощью вы можете использовать несколько окон и / или разделить экран на несколько разделов. Таким образом, вы можете запускать загрузку в одном окне или в одном окне, а другую работу выполнять в другом окне (ах) или в другом (ах) окне (ах).

Третий способ - просто перенаправить вывод в файл, а не в / dev / null . Если вам это нужно, вы можете посмотреть вывод в файле, а если нет, это вам не мешает. Вам нужно только помнить, что нужно время от времени очищать эти файлы (или использовать место, которое регулярно очищается, например / tmp ).

3
ответ дан 23 April 2021 в 23:24

Другие вопросы по тегам:

Похожие вопросы: