Quellcode |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
1.6. Prozessliste Schreiben Sie ein einfaches Bash-Skript, welches den Befehl ps simuliert, aber nur durch Zuhilfenahme des virtuellen /proc-Dateisystems, insbesondere das /proc/PID/status File. Geben Sie die Prozess-ID, den Namen und den aktuellen State des Prozesses aus. Beachten Sie auch, dass sich im /proc-Verzeichnis nicht nur Prozess-Unterverzeichnisse Befinden, sondern auch weitere Schnittstellen zum Betriebssystem-Kern! mike@mars:˜> ./myps.sh 1 Name: init State: S (sleeping) 10 Name: aio/0 State: S (sleeping) 1406 Name: khubd State: S (sleeping) 1426 Name: pccardd State: S (sleeping) 1443 Name: pccardd State: S (sleeping) 1504 Name: cardmgr State: S (sleeping) 161 Name: kseriod State: S (sleeping) 2 Name: ksoftirqd/0 State: S (sleeping) 2199 Name: hwscand State: S (sleeping) 2297 Name: khpsbpkt State: S (sleeping) 2399 Name: knodemgrd_0 State: S (sleeping) ... ... ... |
Benutzerinformationen überspringen
Prof. Dr. Schlaumeier
Wohnort: Mecklenburg, zur Entwicklungshilfe in Chemnitz/Sachsen ;-)
Benutzerinformationen überspringen
Prof. Dr. Schlaumeier
Wohnort: Mecklenburg, zur Entwicklungshilfe in Chemnitz/Sachsen ;-)
Quellcode |
|
1 2 3 4 5 6 7 8 9 10 11 |
#!/bin/bash clear echo "Aufgabe 1.6" for i in `ls /proc/ | grep [0..9] | sort` do echo -n $i" " grep "Name" /proc/$i/status | awk '{print $1" "$2}' | tr '\n' ' ' echo -n "" grep "State" /proc/$i/status | awk '{print $1" "$2" "$3}' | tr '\n' ' ' echo "" #damit auch bei toten Prozessen ein Zeilenumbruch geschrieben wird done |
Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von »onlineuser« (16.04.2006, 22:58)