ACCT(2) System Calls ACCT(2)

acct - enable or disable process accounting

#include <unistd.h>
int acct(const char *path);

The acct() function enables or disables the system process accounting routine. If the routine is enabled, an accounting record will be written in an accounting file for each process that terminates. The termination of a process can be caused by either an exit(2) call or a signal(3C)). The effective user ID of the process calling acct() must have the appropriate privileges.

The path argument points to the pathname of the accounting file, whose file format is described on the acct.h(3HEAD) manual page.

The accounting routine is enabled if path is non-zero and no errors occur during the function. It is disabled if path is (char *)NULL and no errors occur during the function.

Upon successful completion, 0 is returned. Otherwise, −1 is returned and errno is set to indicate the error.

The acct() function will fail if:


The file named by path is not an ordinary file.


An attempt is being made to enable accounting using the same file that is currently being used.


The path argument points to an illegal address.


Too many symbolic links were encountered in translating path.


The length of the path argument exceeds {PATH_MAX}, or the length of a path argument exceeds {NAME_MAX} while _POSIX_NO_TRUNC is in effect.


One or more components of the accounting file pathname do not exist.


A component of the path prefix is not a directory.


The {PRIV_SYS_ACCT} privilege is not asserted in the effective set of the calling process.


The named file resides on a read-only file system.

exit(2), signal(3C), acct.h(3HEAD), privileges(7)

January 20, 2003 OmniOS