kthread
メモリを消費せず、開いているファイルがない理由とその理由を知りたかったのです。使用中の VMZ、RSS、スレッド、openfiles などの追加情報とともに、現在実行中のプロセスの PID を親子ツリー形式で単純に出力するコードをいくつか書きました。指定された PID 2 のすべての子にはkthreadd
、ファイルに VmSize と VmRSS がありませんでした/proc/[pid]/status
。開いているファイルが含まれて/proc/[pid]/fd
いませんでした。
これらのプロセスとは何か、init (PID 1) によって生成された通常のプロセスとどのように異なるか。(古い本で) スワッパーは init PID1 を生成し、他のすべてのプロセスは PID 1 の子プロセスであると読みました。明らかに、この背後には別のアーキテクチャ (Linux カーネル 3.7.10.1-16) があり、それはわかりません。別の質問は、なぜ PID 2 が PID 0 の子であり、 PID 1 の子ではないのかということです。