В Linux есть процесс, который никто не трогает. Не потому что он как-то защищён или спрятан. А потому что если он остановится, система упадёт целиком. Это PID 1. И чтобы понять, как Linux работает изнутри, стоит разобраться именно с ним.
Что такое PID 1 и откуда он берётся
Когда Linux загружается, ядро первым делом инициализирует железо и память. После этого оно запускает один-единственный процесс в пользовательском пространстве. Этот процесс получает идентификатор 1 и становится родителем для всего остального, что будет работать на машине.
На большинстве современных дистрибутивов этим процессом является systemd. Проверить это можно прямо в терминале:
ps -p 1
Вывод покажет systemd с PID 1. Всё просто.
Почему это важно
Каждый процесс в Linux имеет родителя. Терминал запускает bash, bash запускает скрипт, скрипт запускает что-то ещё. Если подняться выше по этой цепочке, в конце всегда окажется PID 1.
Упрощённый вид дерева процессов:
systemd (PID 1)
├── sshd
├── nginx
├── docker
├── cron
└── bash
└── команды пользователя
Есть и ещё один момент. Если какой-то процесс завершается, а его дочерние процессы остаются запущенными, они становятся сиротами. Linux автоматически передаёт их под контроль PID 1. systemd разбирается с ними сам.
Что именно делает systemd
systemd занимается не только стартом при загрузке. Это менеджер всей системы. Он читает юнит-файлы с конфигурацией и запускает сервисы: SSH, сеть, логирование, планировщики задач, Docker, веб-серверы. При сбое сервиса systemd может перезапустить его автоматически, остановить зависимые компоненты и записать всё в журнал.
В отличие от старых SysV-систем, где сервисы стартовали строго по очереди, systemd запускает их параллельно. Именно поэтому современные Linux-системы загружаются заметно быстрее.
Посмотреть всё дерево процессов и убедиться, что оно начинается с PID 1, можно командой:
pstree -p
PID 1 это не просто технический факт из учебника. Это точка, с которой начинается вся работа системы.
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#арсенал_инженера