Linux — процессы
Термины:
PID — идентификатор процесса.
PPID — идентификатор родительского процесса.
UID — идентификатор пользователя
GID — идентификатор группы
Приоритет процесса — алгоритм ядра, учитывающий, сколько времени ЦП использовал процесс и сколько он ожидает очереди (учитывая фактор уступчивости) и выделяющий долю времени ЦП для программы.
Фактор уступчивости — параметр задается администратором и определяет, в какой степени программа может делиться процессором с другими программами. Используется программа nice.
Сигналы — посылаемые запросы на прерывания процессов. Могут отправляться между процессами, терминалом (ctrl+z, ctrl+c), командой kill, ядром при нелегальной инструкции (как пример — деление на ноль). Список сигналов в таблице ниже.
Kill и Stop нельзя перехватить, заблокировать или игнорировать. KILL — уничтожает процесс, STOP — приостанавливает до получения сигнала CONT.
INT — используется как CTRL-C и посылает запрос на завершение текущей операции или прервать интерактивный режим ввода. Программа должна завершить работу или позволить уничтожить себя. HUB — если демон может прочесть конфиг повторно без перезапуска — сигнал изменит его поведение.
№ | Имя | Описание | Реакция по умолчанию | Пере-хваты-вается? | Бло-киру-ется? | Дамп памяти? |
1 | HUP | Отбой | Завершение | Да | Да | Нет |
2 | INT | Прерывание | Завершение | Да | Да | Нет |
3 | QUIT | Выход | Завершение | Да | Да | Да |
9 | KILL | Уничтожение | Завершение | Нет | Нет | Нет |
STOP | Остановка | Остановка | Нет | Нет | Нет | |
CONT | Продолжить после STOP | Игнорируется | Да | Да | Нет |
Список команд:
Управление уступчивостью — nice
Отправка сигнала процессу — kill <сигнал>, таблица сигналов выше.
Так же таблицу сигналов можно получить командой kill -l
Пример: kill -9 12345 — убьет процесс 12345