Ответ
Этот процесс называется init. Он всегда имеет PID (Process ID) = 1 и является предком всех остальных процессов в системе.
В современных дистрибутивах роль init выполняют различные init-системы:
- systemd — стандарт для большинства современных дистрибутивов (RHEL/CentOS 7+, Ubuntu 16.04+, Debian 8+). Помимо запуска процессов, управляет сервисами (юнитами), точками монтирования, сокетами и т.д.
- SysV init — традиционная система, использовавшаяся ранее, с последовательными runlevel и скриптами в
/etc/init.d/. - OpenRC — используется в Gentoo и Alpine Linux.
- runit — минималистичная система, популярная в некоторых специализированных дистрибутивах.
Основные обязанности init-процесса:
- Запуск системных сервисов и демонов, указанных в конфигурации.
- Перезапуск упавших критически важных сервисов.
- Усыновление "сирот" (orphan processes) — процессов, чьи родители завершились.
- Очистка системы при завершении работы (корректная остановка сервисов).
Чтобы узнать, какая init-система используется, можно выполнить:
ps -p 1 -o comm=
Эта команда выведет имя процесса с PID=1, например, systemd.
Ответ 18+ 🔞
А, ну это про то, с чего вся система начинается, да? Вот этот самый первый процесс, который как батя всех остальных. PID у него всегда единичка, как у царя в тюрьме, и все остальные процессы — его дети, внуки и правнуки, ебать мои старые костыли.
Раньше-то, в старые добрые времена, был один такой дедок — SysV init. Всё у него было по полочкам, runlevel'и, скрипты в /etc/init.d/. Но потом пришли молодые и говорят: «Дед, ты медленный, как черепаха в сиропе, и сложный, как инструкция к китайской дрели». И началась движуха.
Сейчас в основном на троне сидит systemd. Этот, бля, такой всеядный монстр, который не только процессы запускает, а ещё и сервисами рулит, сокеты слушает, точки монтирования контролирует — короче, овердохуища всего делает. Его везде пихают: в RHEL, Ubuntu, Debian. Некоторые на него орут, что он жирный и везде лезет, но что поделать — стандарт де-факто.
Но есть и другие ребята, которые не хотят под systemd'шное иго. В Gentoo, например, сидит OpenRC — более шустрый и модульный. В Alpine или каких-нибудь минималистичных дистрибутивах можно встретить runit — вообще аскет, только самое необходимое.
А что этот самый init-процесс вообще делает, кроме как сидит на PID 1 и важничает? Ну, во-первых, он запускает всё, что прописано в конфигах — сервисы, демоны, всю эту системную требуху. Во-вторых, если какой-то критически важный сервис вдруг накрылся медным тазом, init его перезапускает — терпения ноль ебать, работать надо. В-третьих, он усыновляет сирот — процессы, у которых родитель сдох. А ещё он главный по выключению: когда ты говоришь системе «иди на хуй», он корректно все сервисы останавливает, чтобы ничего не сломалось.
И как узнать, кто у нас тут главный? Да элементарно, чувак:
ps -p 1 -o comm=
Тыкаешь эту команду, и она тебе имя процесса выплюнет. Если увидишь systemd — ну, поздравляю, живёшь в современном мире. Если что-то другое — значит, ты либо старовер, либо любитель минимализма, ёпта.