トレースファイルに不明なPIDを持つ「gmain」プロセスは何ですか?

トレースファイルに不明なPIDを持つ「gmain」プロセスは何ですか?

読むInotifyオブザーバーの回答を登録したプロセスを確認してください。、次のコマンドを実行しました。

echo 1 | sudo tee /sys/kernel/debug/tracing/events/syscalls/sys_exit_inotify_add_watch/enable
sudo cat /sys/kernel/debug/tracing/trace 

ファイルの出力には、trace最初の列にプロセス名(作業?)と対応するPIDを含める必要があることを示すヘッダーがあります。

#                              _-----=> irqs-off
#                             / _----=> need-resched
#                            | / _---=> hardirq/softirq
#                            || / _--=> preempt-depth
#                            ||| /     delay
#           TASK-PID   CPU#  ||||    TIMESTAMP  FUNCTION
#              | |       |   ||||       |         |
           gmain-1715  [004] .... 23200.386116: sys_inotify_add_watch -> 0xfffffffffffffffe

驚くべきことに、複数行の出力にリストされているPIDをgrepすると、そのうちの何も存在しませんps -ef | grep $THE_PID(ここで$ THE_PIDは1715です)。また、ジョブ名が不明であり、ps出力にも表示されません。

また、みんなリストはすべてタプルです。たとえば、予期gmain-<some number>しません。だから何postgresnodeはいこのgmainプロセス? /proc/に存在しないPIDは何ですか?私がアクセスしようとすると、歴史的に重要な意味がありますか?

gmain私はそれが一つであることを理解しています。Theodore Ts'oのカーネル文書追跡情報、そうですね

ベストアンサー1

これはプロセスではありません。これらはすべて仕事。 Linuxはタスクを実行します。あなたは彼らのIDを見ることができませんプロセスなぜならリストにこれらタスクはプロセス内のスレッドです。これはマルチスレッドワーカースレッドです。ジオどこかで処理されます。サブディレクトリのサブディレクトリにtask/そのエントリ/proc/<process>(例)を見つけることができます/proc/860/task/926

おすすめ記事