分类:
2008-11-26 18:04:39
8.14 process accounting
Process accounting是将每一个进程的启动,退出,时间,用户,命令,资源使用,等信息做出记录,写在一个记录文件上的系统服务,可以用来查询,该记录是2进制文件。有的系统并没有安装这一项服务。系统每次fork出一个进程,都会在process table里增加一个entry,然后当该进程退出的时候,将该信息记录在系统的记录文件中。
typedef u_short comp_t; /* 3-bit base 8 exponent; 13-bit fraction */ struct acct{ char ac_flag; /* flag (see ) */ char ac_stat; /* termination status (signal & core flag only) */ /* (Solaris only) */ uid_t ac_uid; /* real user ID */ gid_t ac_gid; /* real group ID */ dev_t ac_tty; /* controlling terminal */ time_t ac_btime; /* starting calendar time */ comp_t ac_utime; /* user CPU time (clock ticks) */ comp_t ac_stime; /* system CPU time (clock ticks) */ comp_t ac_etime; /* elapsed time (clock ticks) */ comp_t ac_mem; /* average memory usage */ comp_t ac_io; /* bytes transferred (by read and write) */ /* "blocks" on BSD systems */ comp_t ac_rw; /* blocks read or written */ /* (not present on BSD systems) */ char ac_comm[8]; /* command name: [8] for Solaris, */ /* [10] for Mac OS X, [16] for FreeBSD, and */ /* [17] for Linux */};