1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131
|
.\" Copyright, the authors of the Linux man-pages project
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
.TH acct 2 2025-05-17 "Linux man-pages (unreleased)"
.SH NAME
acct \- switch process accounting on or off
.SH LIBRARY
Standard C library
.RI ( libc ,\~ \-lc )
.SH SYNOPSIS
.nf
.B #include <unistd.h>
.P
.BI "int acct(const char *_Nullable " path );
.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 pathname of an existing file as its argument,
accounting is turned on,
and records for each terminating process
are appended to the file
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 path
(see also
.BR path_resolution (7)),
or
.I path
is not a regular file.
.TP
.B EFAULT
.I path
points outside your accessible address space.
.TP
.B EIO
Error writing to the file
.IR path .
.TP
.B EISDIR
.I path
is a directory.
.TP
.B ELOOP
Too many symbolic links were encountered in resolving
.IR path .
.TP
.B ENAMETOOLONG
.I path
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
.I path
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 path
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 path
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)
|