This is an old revision of the document!
Pentru parcurgerea demo-urilor, folosiți arhiva aferentă.
ps -f $$ ps -F $$ lsof -p $$ pmap $$ ls /proc/$$/ cat /proc/$$/status
find), prin rularea comenzii de mai jos:/usr/bin/time -v find /usr/share > /dev/null
pstree ps -H
echo $$
$PID valorea afișată de comanda de mai sus.watch -n 1 pstree -a -p $PID
sleep 20 & bash sleep 30 # asteptati terminarea comenzii exit
/proc/$PID/status, și anume câmpurile voluntary_ctxt_switches și nonvoluntary_ctxt_switches. Urmăriți aceste valori pentru shell-ul curent:cat /proc/$$/status
voluntary_ctxt_switches?ctxt-switch/ din arhiva cu demo-uri a cursului.cpu.c și io.c.make
cpu și io.cpu:./cpu
cat /proc/$(pidof cpu)/status
nonvoluntary_ctxt_switches. Cum explicați?io:./io
cat /proc/$(pidof io)/status
voluntary_ctxt_switches. Cum explicați?voluntary_ctxt_switches se face doar în cazul apelului sleep(), nu și în cazul apelului write() (apel de I/O)?fork-file-pointer/ din arhiva cu demo-uri a cursului.fork-file-pointer.c.make
fork-file-pointer.fork-file-pointer:./fork-file-pointer
lsof -a -o -d 0-1023 -p $(pidof fork-file-pointer | cut -d ' ' -f 1)
OFFSET.f.txt după rularea programului:cat f.txt
fork(), se partajează cursorul de fișier al fișierelor deschise înainte de fork().orphan-zombie/ din arhiva cu demo-uri a cursului.orphan.c și zombie.c.make
orphan și zombie.orphan:./orphan
watch -n 1 ps -f -C orphan
init.zombie:./zombie
watch -n 1 ps -f -C zombie
ps apare șirul <defunct>.