acct - enable or disable process accounting
Standard C Library (libc, -lc)
#include <unistd.h>
int
acct(const char *file);
The acct() call enables or disables the collection of system accounting
records. If the argument file is a nil 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 can not be produced by acct().
For more information on the record structure used by acct(), see
/usr/include/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. For this purpose, acct() creates a kernel thread
called ``acctwatch''.
On error -1 is returned. The file must exist and the call may be exercised
only by the super-user.
acct() 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 {NAME_MAX} characters,
or an entire path name exceeded {PATH_MAX} 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] file points outside the process's allocated address
space.
[EIO] An I/O error occurred while reading from or writing to
the file system.
Also, acct() fails if failed to create kernel thread described above.
See fork(2) for errno value.
fork(2), acct(5), sa(8)
An acct() function call appeared in Version 7 AT&T UNIX.
BSD June 4, 1993 BSD
[ Back ] |