Processzek CPU-idejének naplózása

Fórumok

Kedves HUP-osok!

A szemek és agyak védelmében a gyerekeknek gépidő-limitjük van nálunk. Nem vagyunk valami szigorú szülők, de ezt muszáj megtenni mert legalábbis a két fiú erősen képes ott ragadni a gép előtt. Ez viszont lehet jogos is (pl. sok házi feladathoz kellhet a gép), és ezzel kissé manipulálnak is.

Tiszta helyzetet akarok teremteni és szeretném, ha lenne egy naplózó progi, amelyik pl. jegyzeteli, hogy egy adott nap egy adott user melyik processzt mennyi ideig futtatta. (wesnoth, bzflag, ...)

Tudom, egy ilyet ki lehet kerülni, meg játszhat böngészőben egy csomó mindent, és azt hogy monitorozom, hogy játék volt-e vagy értelmes web-böngészés, de nem vagyok a totális kontroll híve, ezért (egyenlőre?) elegendőnek tűnik ez a processz-naplózás.

Kérem, aki tud ilyen megoldást, írja meg.

Ja, Ubuntu 10.04-em van.

(Jó lenne Win alá is, mert néha azt is használnak, de hát ez Unix portál, ... :-) )

Hozzászólások

Ha megelégszel egy nagyon egyszerű megoldással...

Ezt írtam a /root/bin/proclog.sh fájlba:


ps h -U user1,user2 -o user,comm | sort -u >> /var/log/proc.`date +%Y%m%d`.log

Ezt a root cron listájába:

* * * * * /root/bin/proclog.sh

Így a /var/log alatt létrejön egy napi log a ps listában megadott felhasználók által az egyes percekben futtatott programokkal.

Ezekből lehet így kivonatot kapni pl.:


awk '{++sum[ $1 " " $2]}; END { for ( idcmd in sum) print idcmd, sum[idcmd]}' /var/log/proc.20100907.log

Így megvannak az egyes felhasználók által futtatott programok és hogy hány "mintavételezett" percben futottak.

Persze ez is átverhető (program más néven másolásával), és ha a program csak üresjáratban hever, akkor "hamisan is tud vádolni".

Javaslom nezz utana az acct csomagnak.

smz

És mit gondolsz a szülő-gyerek bizalmi viszonyról?

Software is like sex, it's better with a penguin. :D (r)(tm)(c) آكوش