Saya mencari proses yang dimulai di Linux yang memiliki proses ID 0. Saya tahu init
memiliki PID 1, yang merupakan proses pertama di Linux, apakah ada proses dengan PID 0?
Saya mencari proses yang dimulai di Linux yang memiliki proses ID 0. Saya tahu init
memiliki PID 1, yang merupakan proses pertama di Linux, apakah ada proses dengan PID 0?
Jawaban:
Dari halaman wikipedia berjudul: Pengidentifikasi proses :
Ada dua tugas dengan ID proses yang dibedakan secara khusus: swapper atau sched memiliki ID proses 0 dan bertanggung jawab untuk paging , dan sebenarnya merupakan bagian dari kernel daripada proses mode pengguna normal . ID Proses 1 biasanya merupakan proses init yang terutama bertanggung jawab untuk memulai dan mematikan sistem. Awalnya, ID proses 1 tidak secara khusus dicadangkan untuk init oleh tindakan teknis apa pun: ID proses itu hanya sebagai konsekuensi alami sebagai proses pertama yang dilakukan oleh kernel. Sistem Unix yang lebih baru biasanya memiliki komponen kernel tambahan yang terlihat sebagai 'proses', dalam hal ini PID 1 secara aktif dicadangkan untuk proses init untuk menjaga konsistensi dengan sistem yang lebih lama.
Anda dapat melihat bukti ini jika Anda melihat PID induk (PPID) dari init
dan 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
adalah daemon utas kernel. Semua kthreads diambil dari utas ini. Anda dapat melihat bukti ini jika Anda melihat proses lain menggunakan ps
dan melihat siapa PPID mereka:
$ 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]
Perhatikan mereka semua 2
.
kswapd[0-9]*
, yang pada sistem saya memiliki PID 52 saat ini? Tampaknya juga bertanggung jawab untuk paging.
Dari Process Identifier wiki:
Ada dua tugas dengan ID proses yang dibedakan secara khusus: swapper atau sched memiliki ID proses 0 dan bertanggung jawab untuk paging, dan sebenarnya merupakan bagian dari kernel daripada proses mode pengguna normal.
Proses dengan pid 0
adalah penjadwal,
ID Proses Keterangan:
0 Penjadwal
1 Proses init
2 kflushd
3 kupdate
4 kpiod
5 kswapd
6 mdrecoveryd