Linux Labs

Пользователи, права, процессы / Ступень 11 из 13

Фоновые задания и терминал

Не запущена Запускается обычно ~20 с
Выйти из урока

Шаг 4 из 7 · теория · 4 мин

Номер задания и PID

Когда заданий несколько, к нужному обращаются по номеру. Номер пишут со знаком процента.

fg %2 возвращает на передний план задание 2, bg %1 продолжает в фоне задание 1. Без номера fg и bg берут текущее задание — то, что jobs помечает знаком +. Знак - стоит у предыдущего.

fg и bg поймут номер и без %, а другие команды примут такое число за PID. kill, который посылает процессам сигналы, обратится по kill 1 к процессу 1 — это systemd, и получит отказ, а kill %1 завершит задание 1. Поэтому номер задания пишут с % всегда.

Проверь себя 1 вопрос

Какой командой продолжить в фоне остановленное задание?

$ jobs -l
[1]-  2034 Running                 sleep 600 &
[2]+  2041 Stopped                 sleep 700
  • После % пишут номер задания, а 2041 — PID. Задания 2041 нет, bg напечатает no such job.

  • Задание 1 и так Running. Остановлено задание 2: [2]+ … Stopped.

  • fg продолжит задание 2 на переднем плане и займёт терминал. В фоне продолжает bg.

Остановлено задание 2, и bg %2 продолжает его в фоне. % ставят перед номером задания, PID пишут без него.

Главное в шаге

  • Номер задания пишут с %: число без него kill и другие команды примут за PID.
  • fg %N и bg %N продолжают задание N на переднем плане или в фоне, без номера — текущее, с +.
Ubuntu 24.04
Загрузка…