Я ищу процесс, запущенный в Linux с идентификатором процесса 0. Я знаю, init
что PID 1, который является первым процессом в Linux, есть ли процесс с PID 0?
Я ищу процесс, запущенный в Linux с идентификатором процесса 0. Я знаю, init
что PID 1, который является первым процессом в Linux, есть ли процесс с PID 0?
Ответы:
На странице википедии под названием: Идентификатор процесса :
Есть две задачи со специально выделенными идентификаторами процессов: swapper или sched имеет идентификатор процесса 0 и отвечает за подкачку страниц и фактически является частью ядра, а не обычным процессом пользовательского режима . Идентификатор процесса 1 обычно является процессом инициализации, главным образом ответственным за запуск и выключение системы. Первоначально, идентификатор процесса 1 не был специально зарезервирован для init никакими техническими мерами: он просто имел этот идентификатор как естественное следствие того, что ядро было первым процессом, вызванным ядром. Более поздние системы Unix обычно имеют дополнительные компоненты ядра, видимые как «процессы», и в этом случае PID 1 активно резервируется для процесса init для поддержания согласованности со старыми системами.
Вы можете увидеть доказательства этого, если вы посмотрите на родительские PID (PPID) init
и kthreadd
:
$ ps -eaf
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 Jun24 ? 00:00:02 /sbin/init
root 2 0 0 Jun24 ? 00:00:00 [kthreadd]
kthreadd
это демон потока ядра Все kthreads разветвляются из этой темы. Вы можете увидеть доказательства этого, если посмотрите на другие процессы, использующие ps
и увидев, кто является их PPID:
$ ps -eaf
root 3 2 0 Jun24 ? 00:00:57 [ksoftirqd/0]
root 4 2 0 Jun24 ? 00:01:19 [migration/0]
root 5 2 0 Jun24 ? 00:00:00 [watchdog/0]
root 15 2 0 Jun24 ? 00:01:28 [events/0]
root 19 2 0 Jun24 ? 00:00:00 [cpuset]
root 20 2 0 Jun24 ? 00:00:00 [khelper]
Обратите внимание, что они все 2
.
kswapd[0-9]*
в моей системе имеет PID 52 в настоящее время? Похоже, что также отвечает за подкачку.
Из идентификатора процесса вики:
Есть две задачи со специально выделенными идентификаторами процессов: swapper или sched имеет идентификатор процесса 0 и отвечает за подкачку страниц и фактически является частью ядра, а не обычным процессом пользовательского режима.