.\" Copyright (c) 1993 Michael Haardt .\" (michael@moria.de), .\" Fri Apr 2 11:32:09 MET DST 1993 .\" .\" SPDX-License-Identifier: GPL-2.0-or-later .\" .\" Modified 1993-07-22 by Rik Faith .\" Modified 1993-08-10 by Alan Cox .\" Modified 1998-11-04 by Tigran Aivazian .\" Modified 2004-05-27, 2004-06-17, 2004-06-23 by Michael Kerrisk .\" .TH acct 2 2023-10-31 "Linux man-pages 6.7" .SH NAME acct \- switch process accounting on or off .SH LIBRARY Standard C library .RI ( libc ", " \-lc ) .SH SYNOPSIS .nf .B #include .P .BI "int acct(const char *_Nullable " filename ); .fi .P .RS -4 Feature Test Macro Requirements for glibc (see .BR feature_test_macros (7)): .RE .P .BR acct (): .nf Since glibc 2.21: .\" commit 266865c0e7b79d4196e2cc393693463f03c90bd8 _DEFAULT_SOURCE In glibc 2.19 and 2.20: _DEFAULT_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500) Up to and including glibc 2.19: _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500) .fi .SH DESCRIPTION The .BR acct () system call enables or disables process accounting. If called with the name of an existing file as its argument, accounting is turned on, and records for each terminating process are appended to .I filename as it terminates. An argument of NULL causes accounting to be turned off. .SH RETURN VALUE On success, zero is returned. On error, \-1 is returned, and .I errno is set to indicate the error. .SH ERRORS .TP .B EACCES Write permission is denied for the specified file, or search permission is denied for one of the directories in the path prefix of .I filename (see also .BR path_resolution (7)), or .I filename is not a regular file. .TP .B EFAULT .I filename points outside your accessible address space. .TP .B EIO Error writing to the file .IR filename . .TP .B EISDIR .I filename is a directory. .TP .B ELOOP Too many symbolic links were encountered in resolving .IR filename . .TP .B ENAMETOOLONG .I filename was too long. .TP .B ENFILE The system-wide limit on the total number of open files has been reached. .TP .B ENOENT The specified file does not exist. .TP .B ENOMEM Out of memory. .TP .B ENOSYS BSD process accounting has not been enabled when the operating system kernel was compiled. The kernel configuration parameter controlling this feature is .BR CONFIG_BSD_PROCESS_ACCT . .TP .B ENOTDIR A component used as a directory in .I filename is not in fact a directory. .TP .B EPERM The calling process has insufficient privilege to enable process accounting. On Linux, the .B CAP_SYS_PACCT capability is required. .TP .B EROFS .I filename refers to a file on a read-only filesystem. .TP .B EUSERS There are no more free file structures or we ran out of memory. .SH STANDARDS None. .SH HISTORY SVr4, 4.3BSD. .\" SVr4 documents an EBUSY error condition, but no EISDIR or ENOSYS. .\" Also AIX and HP-UX document EBUSY (attempt is made .\" to enable accounting when it is already enabled), as does Solaris .\" (attempt is made to enable accounting using the same file that is .\" currently being used). .SH NOTES No accounting is produced for programs running when a system crash occurs. In particular, nonterminating processes are never accounted for. .P The structure of the records written to the accounting file is described in .BR acct (5). .SH SEE ALSO .BR acct (5)