TGViewer
LinuxCamp | DevOps LinuxCamp | DevOps @linuxcamp_tg · 13.6K subscribers
Post #165 6.78K
Проблема с вводом-выводом в фоновом выполнении

Фоновая команда может использовать стандартный вывод, когда это совершенно не к месту)

Что будет, если вы, например, отсортируете немалый файл и запросите вывод двух первых строк в фоновом режиме?

Вначале оболочка напечатает номер задания (1), идентификатор процесса (81089) и приглашение к вводу:


$ sort /usr/share/dict/words | head -n2 &
[1] 81089
$


На данном этапе происходит сортировка данных и подготовка вывода. Когда первая часть задания завершится, отработает команда "head -n2" и выведутся две строки (где бы курсор не находился):


$ sort /usr/share/dict/words | head -n2 &
[1] 81089
$A
A's


Вывод на экран при выполнении фонового задания может появиться в любое время. Ладно, если там пару строк, а вдруг данные выводятся регулярно и в большом объеме...

Совет: чтобы избежать беспорядка, перенаправьте stdout в файл, а затем просмотрите его, когда вам будет удобно:


$ sort /usr/share/dict/words | head -n2 > /tmp/results &


$ cat /tmp/results
A
A's


Неожиданности случаются и тогда, когда фоновое задание пытается читать со стандартного ввода. Оболочка приостанавливает задание, печатает сообщение Stopped и ожидает ввода. Запустив команду cat в фоновом режиме без аргументов, чтобы она читала STDIN:


$ cat &
[1] 82455
[1]+ Stopped cat


Задания не могут читать ввод в фоновом режиме, поэтому сначала переведем его на передний план с помощью fg, а затем введем данные:


$ fg
cat
Hello world!
Hello world!


После ввода можно уже либо завершить задачу "Ctrl + C", либо вернуть ее в фон через "Ctrl + Z" и bg.

LinuxCamp
  • 👍 25
  • 🔥 6
  • ❤‍🔥 3
More from @linuxcamp_tg
  1. Sep 28, 2026Проекту GNU вчера исполнилось 43 года 1983 год: Ричард Столлман объявил планы разработать…
  2. Sep 25, 2026Linux будет работать на ноутах с Snapdragon X2. Qualcomm добавляет полноценную поддержку L…
  3. Sep 24, 2026Так все по делу)) Советует же самый быстрый фикс LinuxCamp | #memes
  4. Sep 23, 2026Планы на 3 октября — прийти на RWB Infra x Security Meetup Мы направим прожекторы на инфра…
  5. Sep 22, 2026Ещё одна рекордная неделя для AI-разработки в Linux. На прошлой неделе в ядро попало 1 634…
  6. Sep 17, 2026Открыл плейлист, а как выйти - непонятно 😁 LinuxCamp | #memes
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →