Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

acct(2)

exec(2)

fork(2)

acct(1M)

acctcom(1)



          ACCT(4)              INTERACTIVE UNIX System              ACCT(4)



          NAME
               acct - per-process accounting file format

          SYNOPSIS
               #include <sys/acct.h>

          DESCRIPTION
               Files produced as a result of calling acct(2) have records
               in the form defined by <sys/acct.h>, whose contents are:

               typedef   ushort comp_t;/* "floating point" */
                                   /* 13-bit fraction, 3-bit exponent  */

               struct    acct
               {
                    char ac_flag;  /* Accounting flag */
                    char ac_stat;  /* Exit status */
                    ushort    ac_uid;/* Accounting user ID */
                    ushort    ac_gid;/* Accounting group ID */
                    dev_t     ac_tty;/* control typewriter */
                    time_t    ac_btime;/* Beginning time */
                    comp_t    ac_utime;/* acctng user time in clock ticks */
                    comp_t    ac_stime;/* acctng system time in clock ticks */
                    comp_t    ac_etime;/* acctng elapsed time in clock ticks */
                    comp_t    ac_mem;/* memory usage in clicks */
                    comp_t    ac_io;/* chars trnsfrd by read/write */
                    comp_t    ac_rw;/* number of block reads/writes */
                    char ac_comm[8];/* command name */
               };

               extern    struct    acctacctbuf;
               extern    struct    inode*acctp;/* inode of accounting file */

               #define AFORK  01   /* has executed fork, but no exec */
               #define ASU    02   /* used super-user privileges */
               #define ACCTF  0300 /* record type: 00 = acct */

               In ac_flag, the AFORK flag is turned on by each fork(2)  and
               turned  off  by  an exec(2).  The ac_comm field is inherited
               from the parent process and is reset by any exec.  Each time
               the  system  charges  the process with a clock tick, it also
               adds to ac_mem the current process size,  computed  as  fol-
               lows:

               (data size) + (text size) /  (number  of  in-core  processes
               using text)

               The value of ac_mem/(ac_stime+ac_utime) can be viewed as  an
               approximation  to the mean process size, as modified by text
               sharing.





          Rev.                                                       Page 1





          ACCT(4)              INTERACTIVE UNIX System              ACCT(4)



               The structure tacct, which resides with the source files  of
               the  accounting  commands,  represents  the total accounting
               format used by the various accounting commands:

               /*
                *  total accounting (for acct period), also for day
                */

               struct       tacct {
                    uid_t   ta_uid;  /* userid */
                    char    ta_name[8];/* login name */
                    float   ta_cpu[2];/* cum. cpu time, p/np (mins) */
                    float   ta_kcore[2];/* cum kcore-minutes, p/np */
                    float   ta_con[2];/* cum. connect time, p/np, mins */
                    float   ta_du;   /* cum. disk usage */
                    long    ta_pc;   /* count of processes */
                    unsigned short   ta_sc;/* count of login sessions */
                    unsigned short   ta_dc;/* count of disk samples */
                    unsigned short   ta_fee;/* fee for special services */
               };

          SEE ALSO
               acct(2), exec(2), fork(2).
               acct(1M),  acctcom(1)  in  the   INTERACTIVE   UNIX   System
               User's/System Administrator's Reference Manual.

          BUGS
               The ac_mem value for  a  short-lived  command  gives  little
               information  about  the  actual size of the command, because
               ac_mem may be incremented while a different  command  (e.g.,
               the shell) is being executed by the process.
























          Rev.                                                       Page 2



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026