acct(2) acct(2)
NAME [Toc] [Back]
acct() - enable or disable process accounting
SYNOPSIS [Toc] [Back]
#include <sys/acct.h>
int acct(const char *path);
DESCRIPTION [Toc] [Back]
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.
Termination can be caused by one of two things: an exit() call or a
signal (see exit(2) and signal(5)). The effective user ID of the
calling process must be superuser 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 disabled 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 threshold.
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 command. ckpacct and turnacct are
described in acctsh(1M)).
RETURN VALUE [Toc] [Back]
acct() returns the following values:
0 Successful completion.
-1 Failure. errno is set to indicate the error.
ERRORS [Toc] [Back]
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.
Hewlett-Packard Company - 1 - HP-UX 11i Version 2: August 2003
acct(2) acct(2)
[EFAULT] path points to an illegal address. The reliable
detection of this error is implementation
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 component 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 effective user ID of the calling process is
not superuser.
[EROFS] The named file resides on a read-only file system.
[ETXTBSY] path points to a text file which is currently
open.
SEE ALSO [Toc] [Back]
acct(1M), acctsh(1M), exit(2), acct(4), signal(5).
STANDARDS CONFORMANCE [Toc] [Back]
acct(): SVID2, SVID3, XPG2
Hewlett-Packard Company - 2 - HP-UX 11i Version 2: August 2003 [ Back ] |