OK, also für eine Programmieraufgabe, die ich habe (Ja, wir dürfen alle Quellen verwenden, die wir für hilfreich halten) Ich muss herausfinden, wie viel Zeit Prozesse verbringen Blockieren/Schlafen/Laufen.Ermittlung der Zeit, die Prozesse verbringen Blockieren/Ausführen
Mein erster Versuch war die Schaffung eines Bash-Skript ..., dass etwas so aussah:
for i in `ls /proc/ | egrep [0-9]+`
do
cat /proc/$i/status | grep State
done
aber dann alle Probleme berichten, den Schlafzustand. Plus diese Methode würde erfordern, dass ich wie verrückt abstimmen ... So läuft der Test wird wahrscheinlich die Ergebnisse ändern ... (ugh)
Jetzt kompilieren eine neue Version eines Linux mit Syscalls oder eine Möglichkeit, die Verfolgung von Prozessen zu behalten Staaten sind nicht ausgeschlossen. Meine einzige Sorge versucht, herauszufinden, wie man den Überblick behalten von Prozesszuständen zu ändern und dafür sorgen, dass ich nichts verpassen ...