Accounting software is structured as a set of tools (consisting of both C programs and shell procedures) that can be used to build accounting systems. acctsh(1M) describes the set of shell procedures built on top of the C programs.
Connect time accounting is handled by various programs that write records into /var/adm/wtmpx, as described in utmpx(4). The programs described
in acctcon(1M) convert this file into session and charging records, which are then summarized by acctmerg(1M).
Process accounting is performed by the system kernel. Upon termination of a process, one record per process is written to a file (normally /var/adm/pacct). The programs in acctprc(1M) summarize this data for charging purposes; acctcms(1M) is used to summarize command usage. Current process data may be examined using acctcom(1).
Process accounting records and connect time accounting records (or any accounting records in the tacct format described in acct(3HEAD))
can be merged and summarized into total accounting records by acctmerg (see tacct format in acct(3HEAD)). prtacct (see acctsh(1M)) is used to format any or all accounting records.
acctdisk reads lines that contain user ID, login name, and number of disk blocks and converts them to total accounting records that can be merged with other accounting records. acctdisk returns an error if the input file is corrupt
or improperly formatted.
acctdusg reads its standard input (usually from find / -print) and computes disk resource consumption (including indirect blocks) by login.
accton without arguments turns process accounting off. If filename is given, it must be the name of an existing file, to which the kernel appends process accounting records (see acct(2) and acct(3HEAD)).
acctwtmp writes a utmpx(4) record to filename. The record contains the current time and a string of characters
that describe the reason. A record type of ACCOUNTING is assigned (see utmpx(4)) reason must be a string of 11 or fewer characters, numbers, $, or spaces. For example, the following are suggestions for use in reboot and shutdown procedures, respectively:
|
acctwtmp "acctg on" /var/adm/wtmpx
acctwtmp "acctg off" /var/adm/wtmpx
|
For each user currently logged on, closewtmp puts a false DEAD_PROCESS record in the /var/adm/wtmpx file. runacct (see runacct(1M)) uses this false DEAD_PROCESS record so that the connect accounting procedures can track the time used by users logged on before runacct was invoked.
For each user currently logged on, runacct uses utmp2wtmp to create an entry in the file /var/adm/wtmpx, created by runacct. Entries in /var/adm/wtmpx enable subsequent invocations of runacct to account for connect times of users currently logged in.
|