Linux Labs

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

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

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

Шаг 1 из 9 · на машине · 4 мин

Выгрузку нужно остановить

Чему научишься

  • Завершать процесс сигналом TERM и знать, чем от него отличается KILL.
  • Посылать сигналы своим и чужим процессам и проверять результат.
  • Объяснять, почему зомби не исчезает от kill и кто его убирает.

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

Упражнение · посмотреть

kill и kill -9

В каталоге ~/signal-lab выполни пять команд по порядку: запусти выгрузку a и останови её обычным kill, запусти выгрузку b и останови её kill -9, потом прочитай оба отчёта. $! — PID последней фоновой команды.

Сначала предположи

Обе выгрузки остановлены. Что окажется в a.txt и b.txt?

Теперь начни упражнение, выполни команду и сверь прогноз с выводом.

Войти и начать Машина доступна после входа
Проверь себя 1 вопрос

Почему в b.txt нет строки saved?

  • kill с файлами не работает, он посылает сигнал процессу. Строку saved выгрузка b просто не записала.

  • Начать она успела: cat b.txt печатает started, его выгрузка пишет при запуске. Не записался конец.

  • Строку started выгрузка b в файл записала, значит, писать в него можно.

kill -9 остановил выгрузку b сразу, и строку saved она дописать не успела.

Ubuntu 24.04
Загрузка…