acct() — enable or disable process accounting
int acct(const char *path);
system call enables or disables the system's process accounting routine.
If the routine is enabled,
an accounting record is written on an accounting file
for each process that terminates.
Termination can be caused by one of two things:
call or a signal (see
The calling process must have the
privilege to use this call.
points to a path name naming the accounting file.
The accounting file format is described in
The accounting routine is enabled if
is nonzero and no errors occur during the system call.
It is disabled if
is zero and no errors occur during the system call.
When the amount of free space on the file system containing the
accounting file falls below a configurable threshold,
the system prints a message on the console and disables process accounting.
Another message is printed and the process accounting is re-enabled
when the space reaches a second configurable threshold.
If the size of the process accounting file reaches a configurable limit,
records for processes terminating after that point will be silently lost.
However, in that case the
command would still sense that process accounting is still enabled.
This loss of records can be prevented with the
are described in
Some or all of the actions associated with this system call require the
Processes owned by the superuser have this privilege.
Processes owned by other users may have this privilege, depending on system
for more information about privileged access on
systems that support fine-grained privileges.
returns the following values:
is set to indicate the error.
is set to one of the following values.
The file named by
is not an ordinary file.
An attempt is being made to enable accounting when it is already enabled.
points to an illegal address.
The reliable detection of this error is implementation dependent.
Too many symbolic links were encountered in translating the path name.
The accounting file path name exceeds
bytes, or the length of a component of the path name exceeds
is in effect.
One or more components of the accounting file path name do not exist.
A component of the path prefix is not a directory.
The calling process does not possess the
The named file resides on a read-only file system.
points to a text file which is currently open.
acct(): SVID2, SVID3, XPG2