З точки зору процесу в одному просторі імен PID 1 може стосуватися системний процес ініціалізації, наприклад runit або supervisord . В іншому просторі імен PID 1 може посилатися на командну оболонку, наприклад bash. Створення простору імен PID для кожного контейнера є важливою функцією Docker. 27 березня 2024 р.
Процес ініціалізації володіє PID 1 і несе повну відповідальність за запуск і завершення роботи системи. Спочатку ідентифікатор процесу 1 не був спеціально зарезервований для init жодними технічними заходами: він просто мав цей ідентифікатор як природний наслідок того, що він був першим процесом, який викликало ядро.
Процеси Unix упорядковані у вигляді дерева. Кожен процес може мати дочірні процеси, і всі мають батьківський процес, крім самого першого процесу, PID 1. PID 1, також відомий як init, є загальним предком усіх процесів і є основою, на якій усі вони працюють. Таким чином, ви можете уявити його важливість.
Процес ініціалізації, ідентифікований як PID 1, є перший процес на рівні користувача, який виконується в системі Linux. Його основна роль полягає в управлінні функціями системного обслуговування та запуску основних служб. Цей процес розвивався з часом, коли різні реалізації змагалися за домінування.
Чому PID 1 такий особливий? Дія за замовчуванням ігнорується під час отримання сигналів, що означає, що ваш процес не буде неявно завершено на SIGINT або SIGTERM . Зазвичай операційні системи завершують ваш процес, коли процеси отримують SIGINT або SIGTERM. Будь-який загублений процес приймається PID 1.
З точки зору процесу в одному просторі імен PID 1 може стосуватися системний процес ініціалізації, наприклад runit або supervisord . В іншому просторі імен PID 1 може посилатися на командну оболонку, наприклад bash.