Ich suche nach dem Prozess, der in Linux mit der Prozess-ID 0 gestartet wurde. Ich weiß, dass init
PID 1 der erste Prozess in Linux ist. Gibt es einen Prozess mit PID 0?
Ich suche nach dem Prozess, der in Linux mit der Prozess-ID 0 gestartet wurde. Ich weiß, dass init
PID 1 der erste Prozess in Linux ist. Gibt es einen Prozess mit PID 0?
Antworten:
Von der Wikipedia-Seite mit dem Titel: Prozess-ID :
Es gibt zwei Tasks mit speziell definierten Prozess-IDs: swapper oder sched hat die Prozess-ID 0 und ist für das Paging verantwortlich. Sie sind eher Teil des Kernels als ein normaler Prozess im Benutzermodus . Die Prozess-ID 1 ist normalerweise der Initialisierungsprozess , der hauptsächlich für das Starten und Herunterfahren des Systems verantwortlich ist. Ursprünglich war die Prozess-ID 1 durch keine technischen Maßnahmen speziell für init reserviert: Sie hatte lediglich diese ID als natürliche Folge des ersten vom Kernel aufgerufenen Prozesses. Neuere Unix-Systeme haben in der Regel zusätzliche Kernel-Komponenten, die als "Prozesse" angezeigt werden. In diesem Fall ist PID 1 aktiv für den Init-Prozess reserviert, um die Konsistenz mit älteren Systemen zu gewährleisten.
Sie können den Beweis dafür sehen, wenn Sie sich die übergeordneten PIDs (PPIDs) von init
und ansehen 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
ist der Kernel-Thread-Daemon. Alle kthreads werden von diesem Thread gegabelt. Sie können Beweise dafür sehen, wenn Sie sich andere Prozesse ansehen ps
, die ihre PPID verwenden und sehen, wer sie ist:
$ 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]
Beachten Sie, dass sie alle sind 2
.
kswapd[0-9]*
, welche auf meinem System hat PID 52 derzeit? Es scheint auch für das Paging verantwortlich zu sein.
Aus dem Prozessidentifikator- Wiki:
Es gibt zwei Tasks mit speziell definierten Prozess-IDs: swapper oder sched hat die Prozess-ID 0 und ist für das Paging verantwortlich. Sie sind eher Teil des Kernels als ein normaler Prozess im Benutzermodus.