Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

acct(1M)

acctsh(1M)

exit(2)

acct(4)

signal(5)

acct(2)

NAME

acct − enable or disable process accounting

SYNOPSIS

#include <sys/acct.h>

int acct(const char *path);

DESCRIPTION

acct() is used to enable or disable 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 super-user 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 non-zero 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. 

RETURN VALUE

Upon successful completion, a value of 0 is returned.  Otherwise, a value of −1 is returned and errno is set to indicate the error. 

ERRORS

acct() fails if one or more of the following is true:

[EPERM] The effective user ID of the calling process is not super-user. 

[EBUSY] An attempt is being made to enable accounting when it is already enabled. 

[ENOTDIR] A component of the path prefix is not a directory. 

[ENOENT] One or more components of the accounting file path name do not exist. 

[EACCES] The file named by path is not an ordinary file. 

[EROFS] The named file resides on a read-only file system. 

[EFAULT] path points to an illegal address.  The reliable detection of this error simplementation dependent. 

[ETXTBSY] path points to a text file which is currently open. 

[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. 

[ELOOP] Too many symbolic links were encountered in translating the path name. 

DEPENDENCIES

Series 300/400
The system’s process accounting routine ignores any locks placed on the process accounting file.

If the size of the process accounting file reaches 5000 blocks, 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 by the use of ckpacct (see acctsh(1M)).

SEE ALSO

acct(1M), acctsh(1M), exit(2), acct(4), signal(5). 

STANDARDS CONFORMANCE

acct(): SVID2, XPG2

Hewlett-Packard Company  —  HP-UX Release 9.0: August 1992

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026