Linux Labs

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

Сигналы и завершение процессов

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

Шаг 3 из 9 · на машине · 3 мин

Пауза: STOP и CONT

Процесс можно не завершать, а остановить и потом продолжить — тем же kill.

STOP останавливает процесс: он замирает в состоянии T, как после Ctrl+Z. CONT продолжает его с того же места. STOP, как и KILL, программа перехватить не может.

bash
sleep 800 &
kill -STOP $!
jobs
kill -CONT $!
jobs

jobs покажет задание сначала Stopped, потом снова Running. Остановленный процесс жив: у него те же PID, память и открытые файлы. Если он держал файл недописанным, файл таким и останется, пока процесс не продолжат.

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

Выгрузка дописывает отчёт. Ты послал ей STOP. Что будет с отчётом?

  • STOP программа перехватить не может: процесс замирает там, где был. ps покажет у него T, а отчёт не изменится.

  • Остановленный процесс ничего не делает, пока не придёт CONT. jobs покажет у него Stopped.

  • STOP процесс не завершает, а файлы и подавно не удаляет: у остановленного процесса в ps состояние T, отчёт лежит на месте.

STOP ставит процесс на паузу: память, открытые файлы и PID остаются, а работа стоит. Отчёт допишется, когда процесс продолжат сигналом CONT.

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

  • STOP ставит процесс на паузу (T), CONT продолжает его с того же места.
  • Пауза — не завершение: процесс держит память, файлы и PID.
Ubuntu 24.04
Загрузка…