SYNOPSIS

DESCRIPTION

The acct() system call enables or disables process accounting. If
called with the name of an existing file as its argument, accounting is
turned on, and records for each terminating process are appended to
filename as it terminates. An argument of NULL causes accounting to be
turned off.

RETURNVALUE

On success, zero is returned. On error, -1 is returned, and errno is
set appropriately.

ERRORS

EACCES Write permission is denied for the specified file, or search
permission is denied for one of the directories in the path
prefix of filename (see also path_resolution(7)), or filename is
not a regular file.
EFAULTfilename points outside your accessible address space.
EIO Error writing to the file filename.
EISDIRfilename is a directory.
ELOOP Too many symbolic links were encountered in resolving filename.
ENAMETOOLONGfilename was too long.
ENFILE The system limit on the total number of open files has been
reached.
ENOENT The specified filename does not exist.
ENOMEM Out of memory.
ENOSYS BSD process accounting has not been enabled when the operating
system kernel was compiled. The kernel configuration parameter
controlling this feature is CONFIG_BSD_PROCESS_ACCT.
ENOTDIR
A component used as a directory in filename is not in fact a
directory.
EPERM The calling process has insufficient privilege to enable process
accounting. On Linux the CAP_SYS_PACCT capability is required.
EROFSfilename refers to a file on a read-only file system.
EUSERS There are no more free file structures or we ran out of memory.

CONFORMINGTO

SVr4, 4.3BSD (but not POSIX).

NOTES

No accounting is produced for programs running when a system crash
occurs. In particular, nonterminating processes are never accounted
for.
The structure of the records written to the accounting file is
described in acct(5).