Updated: 2022/Sep/29

Please read Privacy Policy. It's for your privacy.


ACCT(2)                       System Calls Manual                      ACCT(2)

NAME
     acct - enable or disable process accounting

LIBRARY
     Standard C Library (libc, -lc)

SYNOPSIS
     #include <unistd.h>

     int
     acct(const char *file);

DESCRIPTION
     The acct() call enables or disables the collection of system accounting
     records.  If file is NULL, accounting is disabled.  If file is an
     existing, NUL-terminated, pathname, 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.

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.  For this purpose, acct() creates a kernel thread
     called "acctwatch".

RETURN VALUES
     On success, zero is returned.  Otherwise, -1 is returned and errno is set
     to indicate the error.

ERRORS
     acct() will fail if one of the following is true:

     [EACCES]           Search permission is denied for a component of the
                        path prefix, or the path name is not a regular file.

     [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.

     [ELOOP]            Too many symbolic links were encountered in
                        translating the pathname.

     [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.

     [ENOTDIR]          A component of the path prefix is not a directory.

     [EPERM]            The caller is not the super-user.

     [EROFS]            The named file resides on a read-only file system.

     Also, acct() fails if failed to create kernel thread described above.
     See fork(2) for errno value.

SEE ALSO
     fork(2), acct(5), sa(8)

HISTORY
     An acct() function call appeared in Version 7 AT&T UNIX.

NetBSD 10.99                     June 4, 1993                     NetBSD 10.99