さて、私が持っているプログラミングの割り当てについては (はい、私たちは皆、ヘルプに適していると思われる情報源に目を向けることができます)、プロセスがブロック/スリープ/実行にどれだけの時間を費やしているかを調べなければなりません。
私の最初の試みは、次のような bash スクリプトを作成することでした。
for i in `ls /proc/ | egrep [0-9]+`
do
cat /proc/$i/status | grep State
done
しかし、その後、すべての問題がスリープ状態を報告しています。さらに、この方法では狂ったようにポーリングする必要があります...したがって、テストを実行すると結果が変わる可能性があります... (うーん)
現在、syscalls を使用して Linux の新しいバージョンをコンパイルするか、プロセスの状態を追跡し続ける方法は問題外ではありません。私の唯一の心配は、変化するプロセス状態を追跡し、何も見逃さないようにする方法を見つけようとすることです...