The
acct ();
system call enables or disables the collection of system accounting
records.
If the argument
Fa file
is a null pointer, accounting is disabled.
If
Fa 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
Fa 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
#include <sys/acct.h>
and
acct(5).
This call is permitted only to the super-user.
NOTES
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.
RETURN VALUES
On error -1 is returned.
The file must exist and the call may be exercised only by the super-user.
ERRORS
The
acct ();
system call will fail if one of the following is true:
Bq Er EPERM
The caller is not the super-user.
Bq Er ENOTDIR
A component of the path prefix is not a directory.
Bq Er ENAMETOOLONG
A component of a pathname exceeded 255 characters,
or an entire path name exceeded 1023 characters.
Bq Er ENOENT
The named file does not exist.
Bq Er EACCES
Search permission is denied for a component of the path prefix,
or the path name is not a regular file.
Bq Er ELOOP
Too many symbolic links were encountered in translating the pathname.
Bq Er EROFS
The named file resides on a read-only file system.
Bq Er EFAULT
The
Fa file
argument
points outside the process's allocated address space.
Bq Er EIO
An I/O error occurred while reading from or writing to the file system.