ACCT(2)                      BSD System Calls Manual                     ACCT(2)

     acct — enable or disable process accounting

     Standard C Library (libc, -lc)

     #include <unistd.h>

     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.

     acct(5), accton(8), sa(8)

     The acct() function appeared in Version 7 AT&T UNIX.

BSD                              April 17, 2004                              BSD