私はカスタム初期化(PID 1)スクリプトを作成しました。このスクリプトでは必要なファイルシステムをマウントしましたが、ps aux
リストを実行すると次のようになります。
/ # ps aux
PID USER TIME COMMAND
1 root 0:00 /custom/init
2 root 0:00 [kthreadd]
3 root 0:00 [rcu_gp]
4 root 0:00 [rcu_par_gp]
5 root 0:00 [kworker/0:0-eve]
6 root 0:00 [kworker/0:0H-kb]
7 root 0:00 [kworker/u2:0-ev]
8 root 0:00 [mm_percpu_wq]
9 root 0:00 [ksoftirqd/0]
10 root 0:00 [rcu_sched]
11 root 0:00 [rcu_bh]
12 root 0:00 [migration/0]
13 root 0:00 [cpuhp/0]
14 root 0:00 [kworker/0:1-eve]
15 root 0:00 [kdevtmpfs]
16 root 0:00 [netns]
17 root 0:00 [kauditd]
18 root 0:00 [kworker/u2:1-ev]
21 root 0:00 [oom_reaper]
22 root 0:00 [kworker/u2:2-ev]
161 root 0:00 [writeback]
162 root 0:00 [kcompactd0]
164 root 0:00 [ksmd]
165 root 0:00 [crypto]
166 root 0:00 [kintegrityd]
167 root 0:00 [kblockd]
275 root 0:00 [kswapd0]
289 root 0:00 [kworker/u3:0]
443 root 0:00 [kthrotld]
491 root 0:00 [iscsi_eh]
518 root 0:00 [ipv6_addrconf]
527 root 0:00 [kstrp]
543 root 0:00 [ext4-rsv-conver]
544 root 0:00 [kworker/0:1H-kb]
546 root 0:00 /bin/ash
547 root 0:00 ps aux
カスタム初期化スクリプトでこれを処理しなくても、これらのデーモンを生成するのは何ですか?
ベストアンサー1
ksoftirqd
たとえば、スレッドはカーネルによって開始されます。kernel/softirq.c
。