Hledám proces spuštěný v Linuxu, který má ID procesu 0. Znám init
má PID 1 , což je první proces v Linuxu, existuje nějaký proces s PID 0?
Přijatá odpověď:
Ze stránky wikipedie s názvem:Identifikátor procesu:
Existují dva úkoly se speciálně rozlišenými ID procesů:swapper nebo naplánováno má ID procesu 0 a je zodpovědný za stránkování a je
ve skutečnosti součástí jádra spíše než normálního procesu v uživatelském režimu.
Proces ID 1 je obvykle proces init primárně zodpovědný za
spuštění a vypnutí systému. Původně ID procesu 1
nebylo speciálně vyhrazeno pro init žádnými technickými opatřeními:
měl toto ID prostě jako přirozený důsledek toho, že byl prvním procesem
vyvolaným jádrem. Novější unixové systémy mají obvykle
další součásti jádra viditelné jako ‚procesy‘, v takovém případě je PID
1 aktivně rezervováno pro proces init, aby byla zachována konzistence
se staršími systémy.
Důkaz toho můžete vidět, když se podíváte na rodičovské PID (PPID) init
a 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
je démon vlákna jádra. Všechna kthreads jsou rozvětvená z tohoto vlákna. Důkazy o tom můžete vidět, když se podíváte na jiné procesy pomocí ps
a zjistit, kdo je jejich 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]
Všimněte si, že jsou všechny 2
.