Ответ
Самый первый процесс, которому ядро Linux присваивает PID 1, исторически назывался init. В современных дистрибутивах его роль выполняют системы инициализации:
systemd: Стандарт для большинства современных дистрибутивов (RHEL, Ubuntu, Debian).runit,OpenRC: Используются в некоторых lightweight-дистрибутивах (Void Linux, Alpine).
Роль процесса с PID 1:
- Инициализация системы: Монтирование файловых систем, запуск сервисов.
- Управление сервисами: Запуск, остановка, перезагрузка демонов.
- Перезапуск завершившихся демонов.
- Прием и обработка сиротских процессов (zombie reaping).
Проверка:
ps -p 1
# Вывод: PID TTY STAT TIME COMMAND
# 1 ? Ssl 0:05 /usr/lib/systemd/systemd
# Просмотр дерева процессов, запущенных от systemd
systemctl status
pstree -p 1
В контексте контейнеров (Docker) PID 1 внутри контейнера — это процесс, указанный в ENTRYPOINT или CMD. Важно, чтобы он корректно обрабатывал сигналы (например, SIGTERM) для graceful shutdown.