ОК, поэтому для имеющегося у меня программного задания (да, нам всем разрешено обращаться к любому источнику, который мы находим подходящим для помощи), я должен выяснить, сколько времени процессы тратят на блокировку / спящий режим / работу.
Моя первая попытка была создать скрипт bash ... который выглядел примерно так:
for i in `ls /proc/ | egrep [0-9]+`
do
cat /proc/$i/status | grep State
done
но тогда все проблемы сообщают о состоянии сна. Плюс этот метод потребует от меня опроса как сумасшедшего ... Так что запуск теста, вероятно, изменит результаты ... (тьфу)
Теперь о компиляции новой версии Linux с системными вызовами или о способе отслеживания состояний процессов не может быть и речи. Единственное, что меня беспокоит, - это попытаться выяснить, как отслеживать изменения состояний процесса, и убедиться, что я ничего не пропустил ...