acct.2 (2010 09)
a
acct(2) acct(2)
NAME
acct() - enable or disable process accounting
SYNOPSIS
#include <sys/acct.h>
int acct(const char *path);
DESCRIPTION
The acct() system call enables or disables the system’s process accounting routine. If the routine is
enabled, an accounting record is written on an accounting file for each process that terminates. Termina-
tion can be caused by one of two things: an
exit() call or a signal (see exit(2) and signal(5)). The cal-
ling process must have the
ACCOUNTING privilege to use this call.
path points to a path name naming the accounting file. The accounting file format is described in acct (4).
The accounting routine is enabled if path is nonzero and no errors occur during the system call. It is dis-
abled if path is zero and no errors occur during the system call.
When the amount of free space on the file system containing the accounting file falls below a configurable
threshold, the system prints a message on the console and disables process accounting. Another message
is printed and the process accounting is re-enabled when the space reaches a second configurable thres-
hold.
If the size of the process accounting file reaches a configurable limit, records for processes terminating
after that point will be silently lost. However, in that case the
turnacct command would still sense
that process accounting is still enabled. This loss of records can be prevented with the ckpacct com-
mand. ckpacct and turnacct are described in acctsh (1M)).
Security Restrictions
Some or all of the actions associated with this system call require the
ACCOUNTING privilege. Processes
owned by the superuser have this privilege. Processes owned by other users may have this privilege,
depending on system configuration. See privileges (5) for more information about privileged access on sys-
tems that support fine-grained privileges.
RETURN VALUE
acct() returns the following values:
0 Successful completion.
-1 Failure. errno is set to indicate the error.
ERRORS
If
acct() fails, errno is set to one of the following values.
[EACCES] The file named by path is not an ordinary file.
[EBUSY] An attempt is being made to enable accounting when it is already enabled.
[EFAULT] path points to an illegal address. The reliable detection of this error is implementa-
tion dependent.
[ELOOP] Too many symbolic links were encountered in translating the path name.
[ENAMETOOLONG]
The accounting file path name exceeds
PATH_MAX bytes, or the length of a com-
ponent of the path name exceeds NAME_MAX bytes while _POSIX_NO_TRUNC is in
effect.
[ENOENT] One or more components of the accounting file path name do not exist.
[ENOTDIR] A component of the path prefix is not a directory.
[EPERM] The calling process does not possess the
ACCOUNTING privilege.
[EROFS] The named file resides on a read-only file system.
[ETXTBSY] path points to a text file which is currently open.
SEE ALSO
acct(1M), acctsh(1M), exit(2), acct(4), privileges(5), signal(5).
HP-UX 11i Version 3: September 2010 − 1 − Hewlett-Packard Company 1