ОП.05Процессы: PID, состояния и сигналызанятие 7Материалы

ОП.05 · Операционные системы и среды · занятие 7 · комбинированное занятие

Процессы: PID, состояния и сигналы

Программа и процесс, номера PID и PPID, дерево процессов, состояния R, S, D, T и Z, фон и передний план, сигналы TERM, KILL, STOP и CONT, коды завершения и зомби. В конце — набор процессов в разных состояниях, который нужно завершить подходящими сигналами.

Часть 1 →

План занятия

  1. 1Программа и процесс

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

  2. 2Родители и потомки: PPID и дерево процессов

    В этой части разберём, как один процесс создаёт другой, что такое PPID, как выглядит дерево процессов и кто становится родителем процесса, если его родитель завершился.

  3. 3Состояния процесса

    В этой части разберём, в каких состояниях бывает процесс, как их читать в столбце STAT команды ps и как получить каждое состояние на опыте.

  4. 4Передний план и фон: jobs, bg, fg

    В этой части разберём, что такое задание оболочки, чем передний план отличается от фона и как переводить задание между ними клавишами и командами jobs, bg и fg.

  5. 5Сигналы: kill, остановка и продолжение

    В этой части разберём, что такое сигнал, какие сигналы нужны администратору, как посылать их командой kill и почему процесс может перехватить TERM, но не KILL.

  6. 6Завершение процесса: код возврата и зомби

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

  7. 7Практическая работа · Диспетчер процессов

    В этой части запустим набор процессов в разных состояниях, построим их дерево, определим состояния и завершим каждый процесс подходящим сигналом. Порядок действий проверит журнал диспетчера и скрипт.

Подготовка

Для работы нужна Ubuntu из практической работы № 1 и терминал. Права администратора на этом занятии не нужны: все процессы запускаются от вашего имени. Набор для практической работы создаёт скрипт procs-lab-setup.sh.

На занятие отводится одна пара — 90 минут: части 1–6 около 55 минут, практическая работа — 35 минут. Снимки экрана сделаны в Ubuntu 24.04.4 Live; номера процессов в вашей системе будут другими.

Каждая часть построена одинаково: объяснение, определения, команды для выполнения в терминале, снимок с результатом, итоги части и переход к следующей.

Материалы

Открыть в отдельной вкладке ↗