acct
— enable or
disable process accounting
Standard C Library (libc, -lc)
#include
<unistd.h>
int
acct
(const
char *file);
The
acct
()
system call enables or disables the collection of system accounting records.
If the argument file is a null pointer, accounting is
disabled. If file is an
existing
pathname (null-terminated), record collection is enabled and for every
process initiated which terminates under normal conditions an accounting
record is appended to file. Abnormal conditions of
termination are reboots or other fatal system problems. Records for
processes which never terminate cannot be produced by
acct
().
For more information on the record structure used by
acct
(), see
<sys/acct.h>
and
acct(5).
This call is permitted only to the super-user.
Accounting is automatically disabled when the file system the
accounting file resides on runs out of space; it is enabled when space once
again becomes available. The values controlling this behaviour can be
modified using the following
sysctl(8)
variables:
- kern.acct_chkfreq
- Specifies the frequency (in seconds) with which free disk space should be
checked.
- kern.acct_resume
- The percentage of free disk space above which process accounting will
resume.
- kern.acct_suspend
- The percentage of free disk space below which process accounting will
suspend.
On error -1 is returned. The file must exist and the call may be
exercised only by the super-user.
The acct
() system call will fail if one of
the following is true:
- [
EPERM
]
- The caller is not the super-user.
- [
ENOTDIR
]
- A component of the path prefix is not a directory.
- [
ENAMETOOLONG
]
- A component of a pathname exceeded 255 characters, or an entire path name
exceeded 1023 characters.
- [
ENOENT
]
- The named file does not exist.
- [
EACCES
]
- Search permission is denied for a component of the path prefix, or the
path name is not a regular file.
- [
ELOOP
]
- Too many symbolic links were encountered in translating the pathname.
- [
EROFS
]
- The named file resides on a read-only file system.
- [
EFAULT
]
- The file argument points outside the process's
allocated address space.
- [
EIO
]
- An I/O error occurred while reading from or writing to the file
system.
- [
EINTEGRITY
]
- Corrupted data was detected while reading from the file system.
The acct
() function appeared in
Version 7 AT&T UNIX.