Linux Labs

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

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

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

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

Чужой процесс

Свои процессы ты останавливал без помех. С процессом другой учётной записи так не выйдет.

Сигнал процессу может послать его владелец или root. На чужой процесс kill напечатает Operation not permitted — с любым сигналом, KILL тоже. Такой процесс останавливают через sudo kill.

Номер процесса берут из pgrep -a или ps прямо перед сигналом и сверяют командную строку: PID освобождается и достаётся новым процессам, а сигнал по ошибке получит не тот.

После сигнала проверяют результат. Если процесса больше нет, ps -p PID напечатает одну строку заголовка. Если процесс ещё жив — значит, он заканчивает работу или не отвечает на TERM.

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

Выгрузку от www-data нужно остановить, а kill 2345 напечатал Operation not permitted. Что сделаешь?

  • Работающий процесс от этого не остановится: программа уже в памяти. Остановить его — sudo kill 2345.

  • В новом терминале ты тот же student, и процесс по-прежнему чужой. Нужен root — sudo kill 2345.

  • Отказ касается прав: чужому процессу обычный пользователь не может послать никакой, и kill -9 напечатает то же.

Сигнал процессу посылает его владелец или root, поэтому чужой процесс останавливают через sudo kill. Результат проверяют в ps -p с тем же PID.

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

  • Чужому процессу сигнал посылают через sudo kill; без sudo — Operation not permitted.
  • PID берут прямо перед сигналом и сверяют командную строку, результат проверяют в ps.
Ubuntu 24.04
Загрузка…