Ключевые термины
process (процесс)
- Программа, загруженная в оперативную память и выполняемая процессором в данный момент.
daemon (демон)
- Системный процесс, выполняющийся в фоновом режиме без интерактивного пользовательского интерфейса; обеспечивает работу системных служб.
user process (пользовательский процесс)
- Процесс, запущенный пользователем из командной строки или GUI; привязан к сеансу оболочки.
multitasking (многозадачность)
- Способность операционной системы быстро переключаться между процессами, создавая иллюзию их одновременного выполнения на одном процессоре.
PID (Process ID, идентификатор процесса)
- Уникальный числовой идентификатор, присваиваемый каждому процессу операционной системой при его создании.
PPID (Parent Process ID, идентификатор родительского процесса)
- PID родительского процесса, породившего данный процесс.
init (начальный процесс)
- Первый процесс, запускаемый ядром Linux после загрузки; прародитель всех остальных процессов, всегда имеет PID 1.
systemd (системный демон)
- Современная замена
init во многих дистрибутивах Linux; управляет запуском системных служб и служебными файлами .service.
forking (ветвление)
- Создание нового процесса (дочернего) копированием родительского; стандартный механизм порождения процессов в Linux.
subshell (субоболочка)
- Дочерний экземпляр оболочки, создаваемый для выполнения каждой команды, введённой в командной строке.
process table (таблица процессов)
- Структура данных ядра Linux, учитывающая все выполняющиеся процессы и их атрибуты.
zombie process (процесс-зомби)
- Завершившийся процесс, PID которого ещё не освобождён родительским процессом.
top (монитор процессов)
- Интерактивная утилита для динамического просмотра выполняющихся процессов с отображением использования CPU и памяти.
ps (process status, статус процессов)
- Утилита для отображения снимка текущих выполняющихся процессов; ключевые флаги:
-e (все процессы), -f (полный формат), -l (длинный формат).
free (свободная память)
- Команда для отображения объёма свободной и использованной оперативной памяти и памяти подкачки.
pgrep (поиск процессов)
- Команда для поиска процессов по имени, владельцу или PPID с выводом их PID.
nice (запуск с приоритетом)
- Команда для запуска программы с заданным значением «вежливости» (от −20 до +19), влияющим на приоритет процесса.
nice value (значение «вежливости»)
- Числовое значение от −20 (наивысший приоритет) до +19 (наименьший приоритет), учитываемое при расчёте приоритета процесса ядром.
renice (изменение приоритета)
- Команда для изменения значения «вежливости» уже выполняющегося процесса по его PID.
foreground (передний план)
- Режим выполнения процесса, при котором он занимает терминал и блокирует ввод новых команд до своего завершения.
background (фоновый режим)
- Режим выполнения процесса, при котором управление немедленно возвращается в оболочку; запуск — с символом
& в конце команды.
jobs (задания)
- Команда для отображения списка фоновых заданий текущего сеанса оболочки.
fg (foreground, перевод на передний план)
- Команда для перевода фонового задания на передний план.
bg (background, перевод в фоновый режим)
- Команда для запуска остановленного задания в фоновом режиме.
kill (завершение процесса)
- Команда для отправки сигнала завершения процессу по его PID; основные сигналы: SIGHUP (1), SIGINT (2), SIGKILL (9), SIGTERM (15).
killall (завершение по имени)
- Команда для отправки сигнала всем процессам с указанным именем.
pkill (завершение с фильтром)
- Команда для поиска процессов по критериям (
pgrep-совместимым) и отправки им сигнала завершения.
SIGKILL (сигнал принудительного завершения, номер 9)
- Сигнал, принудительно завершающий процесс без возможности корректного освобождения ресурсов.
SIGTERM (сигнал корректного завершения, номер 15)
- Сигнал по умолчанию команды
kill; предписывает процессу выполнить корректное завершение.
nohup (игнорирование разрыва соединения)
- Команда-обёртка, защищающая запущенный процесс от сигнала SIGHUP при выходе пользователя из системы.
screen (мультиплексор терминала)
- Утилита, позволяющая использовать несколько окон оболочки в одном SSH-сеансе и сохранять сеансы при разрыве соединения.
at (однократное планирование)
- Демон и команда для однократного запуска программы в заданное время в будущем; управляется демоном
atd.
atq (очередь at)
- Команда для просмотра списка ожидающих заданий
at.
atrm (удаление задания at)
- Команда для удаления ожидающего задания из очереди
at.
cron (периодическое планирование)
- Демон и система для регулярного запуска задач по расписанию; использует файлы crontab.
crontab (файл расписания cron)
- Файл, описывающий расписание задач для демона
cron; системный — /etc/crontab, пользовательский — редактируется командой crontab -e.
anacron (планировщик для нерегулярно работающих систем)
- Служба, дополняющая
cron: выполняет пропущенные задания при следующем запуске системы, что важно для ноутбуков и настольных ПК.
systemctl (управление systemd)
- Команда для запуска, остановки, перезапуска и просмотра состояния служб в системах с
systemd.