pidのtask_structを取得する方法は?

pidのtask_structを取得する方法は?

アプリケーションのタイミングフィールドを監視する必要があるため、PIDでプロセスのtask_structを取得したいと思います。モジュールを作らなくても可能ですか?そうでなければ、プロセスの開始時間、ユーザーおよびカーネルモードでの実行時間、最後の実行などを取得する方法はありますか?

ベストアンサー1

task_struct は直接公開されませんが、/proc/ で使用できるものが多いです。PID、記録済み工程(5)。特に/proc/PID/statには、次のようにいくつかのフィールドがあります。

663969 (bash) S 255279 663969 663969 34836 721047 4194304 1103 125311 1 2396 1 2 2385 4333 20 0 1 0 152947991 9584640 1123 18446744073709551615 94761163685888 94761164450717 140730124580704 0 0 0 65536 3686404 1266761467 0 0 0 17 0 0 0 5 0 0 94761164686000 94761164733764 94761175252992 140730124584237 140730124584243 140730124584243 140730124586990 0

1ベースのフィールドには、PID 663969(フィールド1)、PPID 255279(フィールド4)、ユーザースペース1(フィールド14)、およびシステムスペース2(フィールド15)の実行時間と開始時間152947991(フィールド22)がクロックティック単位で含まれています。になります。 )。それが何を意味するのかわかりませんlast execution

おすすめ記事