GNU/Linux >> Znalost Linux >  >> Linux

Který proces má Pid 0?

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 .


Linux
  1. Co je nepřerušitelný proces?

  2. Programově získat nadřazené pid jiného procesu?

  3. Určení konkrétního procesoru, na kterém běží proces

  1. Aktuální umask procesu s <pid>

  2. Identifikace, které MTA běží

  3. Jak získat PID právě zahájeného procesu

  1. Ruční vytváření kontejnerů:jmenný prostor PID

  2. Nemůžete zabít proces Gedit z jeho Pid?

  3. Jak zjistit, který proces zapisuje na disk v Linuxu