ACCT(2)

NAME
acct - switch process accounting on or off

SYNOPSIS
#include <unistd.h>

int acct(const char *filename);

DESCRIPTION
When called with the name of an existing file as argument, accounting is turned on, records for each terminating process are appended to filename as it terminates. An argument of NULL causes accounting to be turned off.

RETURN VALUE
On success, zero is returned. On error, -1 is returned, and errno is set appropriately.

ERRORS

EACCES
    Write permission is denied for the specified file, or search permission is denied for one of the directories in the path prefix of filename (see also path_resolution(2)), or filename is not a regular file.

EFAULT
    filename points outside your accessible address space.

EIO Error writing to the file filename.

EISDIR
    filename is a directory.

ELOOP
    Too many symbolic links were encountered in resolving filename.

ENAMETOOLONG
    filename was too long.

ENFILE
    The system limit on the total number of open files has been reached.

ENOENT
    The specified filename does not exist.

ENOMEM
    Out of memory.

ENOSYS
    BSD process accounting has not been enabled when the operating system kernel was compiled. The kernel configuration parameter controlling this feature is CONFIG_BSD_PROCESS_ACCT.

ENOTDIR
    A component used as a directory in filename is not in fact a directory.

EPERM
    The calling process has insufficient privilege to enable process accounting. On Linux the CAP_SYS_PACCT capability is required.

EROFS
    filename refers to a file on a read-only file system.

EUSERS
    There are no more free file structures or we ran out of memory.

CONFORMING TO
SVr4, 4.3BSD (but not POSIX).

NOTES
No accounting is produced for programs running when a crash occurs. In particular, nonterminating processes are never accounted for.

SEE ALSO
acct(5)