TGViewer
LinuxCamp | DevOps LinuxCamp | DevOps @linuxcamp_tg · 13.6K subscribers
Post #162 6.46K
Введение в фоновые команды и задания

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

Это обычно неэффективно, когда выполнение занимает время и вам не требуется общаться с утилитой через CLI либо отлаживать ее логи.

Не беда, вы можете запускать команды особым образом, чтобы они исчезали из поля зрения, но продолжали выполняться, освобождая текущую оболочку.

Этот метод называется фоновым выполнением команды (backgrounding).

Если же команда занимает оболочку, ее называют командой переднего плана (foreground).

Запуск команды в фоновом режиме

Чтобы запуститься в фоновом режиме, просто добавьте амперсанд "&" после команды:


$ wc -c file.txt &
[1] 74931
$


[1] - номер, под которым закрепилось задание (job);
74931 - PID процесса;

Если команда завершится успешно, оболочка выведет сообщение:


[1]+ Done wc -c file.txt


Если где-то произошла ошибка и команда завершилась аварийно, вы увидите сообщение о выходе с кодом возврата:


[1]+ Exit 1 wc -c file.txt


Амперсанд "&" является оператором списка - вы можете вывести в фон сразу ряд команд:


$ nm-applet & wc -c file.txt &
[1] 28839
[2] 28840


Чем является задание?

Вы можете подумать, что под заданием подразумевается 1 процесс - немного не так.

Задание — это единица работы оболочки. Простые команды, конвейеры и условные списки — примеры заданий, которые можно запускать из командной строки.

Задание — это больше, чем просто процесс Linux. Задание может состоять из одного или нескольких процессов:


[4]+ Running nm-applet && wc -c file.txt &


Например, конвейер из шести программ представляет собой одно задание, включающее 6 процессов:


$ cat file.txt | grep "word" | sort | uniq | tr 'a-z' 'A-Z' | wc -l > result.txt &


[5]+ Running cat file.txt | grep --color=auto "word" ... &


В оболочке может быть запущено одновременно несколько заданий, каждый экземпляр имеет свой ID.

LinuxCamp
  • 👍 39
  • 🔥 11
  • ❤‍🔥 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 →