Prozesszustand über das Prozessende hinaus sichern

26/07/2011 - 19:23 von Hauke Laging | Report spam
Moin,

man kann sich ja schön angucken, was die einzelnen Prozesse so anstellen.
Aber das geht (auf den ersten Blick jedenfalls) nicht mehr, wenn sie nicht
mehr da sind. Was wollte man sich darüber auch wundern... :-)

Gibt es eine Möglichkeit, diese Prozessinformationen am Ende (also
unmittelbar vor dem exit_group) zu sichern?

Konkret geht es mir um die Frage, wie viele Daten ein Prozess insgesamt
liest und schreibt. Gibt es da was Eleganteres, als mit etwas in der Art von

while [ -f /proc/$PID/io ]
...
sleep
done

zu warten?


CU

Hauke
http://www.hauke-laging.de/ideen/
D44C 6A5B 71B0 427C CED3 025C BD7D 6D27 ECCB 5814
 

Lesen sie die antworten

#1 Leonard Orb
26/07/2011 - 22:55 | Warnen spam
Hauke Laging:

Gibt es eine Möglichkeit, diese Prozessinformationen am Ende (also
unmittelbar vor dem exit_group) zu sichern?



Der Kernel unterstützt das:

| CONFIG_BSD_PROCESS_ACCT:
|
| If you say Y here, a user level program will be able to instruct the
| kernel (via a special system call) to write process accounting
| information to a file: whenever a process exits, information about
| that process will be appended to the file by the kernel. The
| information includes things such as creation time, owning user,
| command name, memory usage, controlling terminal etc. (the complete
| list is in the struct acct in <file:include/linux/acct.h>). It is
| up to the user level program to do useful things with this
| information. This is generally a good idea, so say Y.

Die angesprochene Userland-Unterstützung befindet sich z.B. im Paket
"acct" (bei Debian, anderswo heißt es auch schonmal "psacct"). Aber da
wird es auch andere Lösungen geben (die ich allerdings nicht kenne).

Konkret geht es mir um die Frage, wie viele Daten ein Prozess insgesamt
liest und schreibt.



Habe leider keine Ahnung, ob GNU acct das rausrückt.

Leo

Ähnliche fragen