136 lines
4.1 KiB
Groff
136 lines
4.1 KiB
Groff
.\" $NetBSD: acct.5,v 1.10 2021/11/15 17:41:20 christos Exp $
|
|
.\"
|
|
.\" Copyright (c) 1991, 1993
|
|
.\" The Regents of the University of California. All rights reserved.
|
|
.\"
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
.\" modification, are permitted provided that the following conditions
|
|
.\" are met:
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
.\" 3. Neither the name of the University nor the names of its contributors
|
|
.\" may be used to endorse or promote products derived from this software
|
|
.\" without specific prior written permission.
|
|
.\"
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
|
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
|
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
.\" SUCH DAMAGE.
|
|
.\"
|
|
.\" @(#)acct.5 8.1 (Berkeley) 6/5/93
|
|
.\"
|
|
.Dd November 15, 2021
|
|
.Dt ACCT 5
|
|
.Os
|
|
.Sh NAME
|
|
.Nm acct
|
|
.Nd execution accounting file
|
|
.Sh SYNOPSIS
|
|
.In sys/acct.h
|
|
.Sh DESCRIPTION
|
|
The kernel maintains the following
|
|
.Fa acct
|
|
information structure for all
|
|
processes. If a process terminates, and accounting is enabled,
|
|
the kernel calls the
|
|
.Xr acct 2
|
|
function call to prepare and append the record
|
|
to the accounting file.
|
|
.Bd -literal
|
|
/*
|
|
* Accounting structures; these use a comp_t type which is a 3 bits base 8
|
|
* exponent, 13 bit fraction ``floating point'' number. Units are 1/AHZ
|
|
* seconds.
|
|
*/
|
|
typedef u_short comp_t;
|
|
|
|
struct acct {
|
|
char ac_comm[10]; /* name of command */
|
|
comp_t ac_utime; /* user time */
|
|
comp_t ac_stime; /* system time */
|
|
comp_t ac_etime; /* elapsed time */
|
|
time_t ac_btime; /* starting time */
|
|
uid_t ac_uid; /* user id */
|
|
gid_t ac_gid; /* group id */
|
|
short ac_mem; /* memory usage average */
|
|
comp_t ac_io; /* count of IO blocks */
|
|
dev_t ac_tty; /* controlling tty */
|
|
#define AFORK 0x01 /* forked but not execed */
|
|
#define ASU 0x02 /* used super-user permissions */
|
|
#define ACOMPAT 0x04 /* used compatibility mode */
|
|
#define ACORE 0x08 /* dumped core */
|
|
#define AXSIG 0x10 /* killed by a signal */
|
|
char ac_flag; /* accounting flags */
|
|
};
|
|
|
|
/*
|
|
* 1/AHZ is the granularity of the data encoded in the comp_t fields.
|
|
* This is not necessarily equal to hz.
|
|
*/
|
|
#define AHZ 64
|
|
|
|
#ifdef KERNEL
|
|
struct vnode *acctp;
|
|
#endif
|
|
.Ed
|
|
.Pp
|
|
If a terminated process was created by an
|
|
.Xr execve 2 ,
|
|
the name of the executed file (at most ten characters of it)
|
|
is saved in the field
|
|
.Fa ac_comm
|
|
and its status is saved by setting one of more of the following flags in
|
|
.Fa ac_flag :
|
|
.Dv AFORK ,
|
|
.Dv ACORE ,
|
|
and
|
|
.Dv AXSIG .
|
|
.Pp
|
|
The
|
|
.Dv ASU
|
|
flag is not recorded anymore because with the switch to
|
|
.Xr kauth 9 ,
|
|
the superuser model is optional and passing the affected process to every
|
|
authorization call in order to record
|
|
.Dv ASU
|
|
in
|
|
.Fa p_acflag ,
|
|
would require many source changes and would not reflect reality because
|
|
the authorization decision might not have been done based on the
|
|
.Xr secmodel_suser 9
|
|
model.
|
|
.Pp
|
|
The
|
|
.Dv ACOMPAT
|
|
flag was never recorded in
|
|
.Nx ;
|
|
we could consider setting when the a process is running under emulation,
|
|
but this is not currently done.
|
|
.Pp
|
|
Both the
|
|
.Dv ASU
|
|
and the
|
|
.Dv ACOMPAT
|
|
flags are retained for source compatibility.
|
|
.Sh SEE ALSO
|
|
.Xr lastcomm 1 ,
|
|
.Xr acct 2 ,
|
|
.Xr execve 2 ,
|
|
.Xr accton 8 ,
|
|
.Xr sa 8
|
|
.Sh HISTORY
|
|
A
|
|
.Nm
|
|
file format appeared in
|
|
.At v7 .
|