кто или какой процесс является родителем процесса INIT?
INIT-это первый процесс, который инициализируется ядром, ядро - это не один процесс, так каково его значение идентификатора родительского процесса?
Какой процесс является родителем процесса init в Linux?
2 ответа
по данным ps -ef
, идентификатор родительского процесса 0
.
например:
$ ps -ef | head -4
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 Mar14 ? 00:00:03 init [2]
root 2 0 0 Mar14 ? 00:00:00 [kthreadd]
root 3 2 0 Mar14 ? 00:00:17 [ksoftirqd/0]
- принято говорить, что init
не имеет родителя и поэтому значение PPID 0
является заполнителем, сигнализирующим, что у него нет родителя. В качестве альтернативы можно утверждать, что ядро является "родителем"init
и 0
означает ядро.
фактически, PID 0 является планировщиком ядра, поэтому родителем init является планировщик kenerl, который работает в режиме ядра. https://en.wikipedia.org/wiki/Process_identifier
есть две задачи со специально выделенными идентификаторами процессов: swapper или sched имеет идентификатор процесса 0 и отвечает за подкачку фактически часть ядра, а не обычный процесс пользовательского режима. Идентификатор процесса 1 обычно отвечает за процесс инициализации для запуск и выключение системы. Первоначально идентификатор процесса 1 был не специально зарезервировано для init любыми техническими мерами: просто этот идентификатор был естественным следствием первого процесса вызывается ядром. Более поздние системы Unix обычно имеют дополнительные компоненты ядра, видимые как "процессы", в этом случае PID 1 активно зарезервирован для процесса инициализации для поддержания согласованности со старыми системами.Р работает в режиме ядра.
Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]