Шпаргалка: управлять задачами интерактивной оболочки
Различайте job и PID, фон и остановку, fg и bg. Завершайте собственный учебный процесс осознанно и не считайте амперсанд заменой менеджера служб.
Когда открыть эту шпаргалку
Job control принадлежит конкретной интерактивной оболочке. Один job может включать несколько процессов pipeline. Номер задания в этой оболочке не равен системному PID и не переносится автоматически в другое окно терминала.
Выбор команды
Формы %1 относятся к первому заданию текущего shell. Перед действием проверяйте jobs -l; примерный номер не нужно применять к неизвестному процессу.
| Что выяснить | Команда или выражение | Как читать результат |
|---|---|---|
| Список собственных заданий | jobs -l | Показывает задания, известные этой оболочке. |
| Запуск в фоне | command-name & | stdin и время жизни требуют отдельного рассмотрения. |
| Вернуть на передний план | fg %1 | Продолжает остановленное задание и отдаёт ему foreground. |
| Продолжить в фоне | bg %1 | Подходит для остановленного задания, которому не нужен обычный ввод терминала. |
| Дождаться своего процесса | wait "$child" | Статус завершения нужно обработать, а не только ждать исчезновения строки. |
Короткая последовательность
Короткий sleep завершается самостоятельно. $! сохраняется сразу после фонового запуска; wait относится именно к этому дочернему процессу.
sleep 1 &
child=$!
wait "$child"Проверка вывода
Ctrl+Z обычно останавливает foreground job сигналом, а не завершает его. Ctrl+C обычно отправляет сигнал прерывания foreground process group. Конкретная программа может обрабатывать сигналы по своим правилам.
Границы применения
Оставленный в фоне процесс не становится автоматически надёжной службой после выхода из сеанса. Для длительной системной работы нужны подходящий менеджер, журналирование и условия перезапуска. Не посылайте сигналы по номеру из чужого примера без проверки текущего задания.
Технические источники
Использованы для проверки поведения. Объяснения и учебные сценарии созданы для проекта.
- Руководство bash(1)
- Руководство signal(7)
Проверка текста: 2026-09-11. Нативное исполнение на всей матрице дистрибутивов ещё не подтверждено.
Примеры для собственной Linux-системы с Bash и указанными утилитами. Наличие пакетов и набор опций проверьте в установленной версии; браузерный терминал поддерживает только своё подмножество.
От материала к практике
Выберите следующую тему в каталоге Linux или проверьте знакомые команды в учебном терминале.