xref: /illumos-gate/usr/src/man/man2/acct.2 (revision a0955b86cd77e22e80846428a5065e871b6d8eb8)
te
Copyright (c) 2003, Sun Microsystems, Inc. All Rights Reserved Copyright 1989 AT&T
The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
ACCT 2 "Jan 20, 2003"
NAME
acct - enable or disable process accounting
SYNOPSIS

#include <unistd.h>

int acct(const char *path);
DESCRIPTION

The acct() function enables or disables the system process accounting routine. If the routine is enabled, an accounting record will be written in an accounting file for each process that terminates. The termination of a process can be caused by either an exit(2) call or a signal(3C)). The effective user ID of the process calling acct() must have the appropriate privileges.

The path argument points to the pathname of the accounting file, whose file format is described on the acct.h(3HEAD) manual page.

The accounting routine is enabled if path is non-zero and no errors occur during the function. It is disabled if path is (char *)NULL and no errors occur during the function.

RETURN VALUES

Upon successful completion, 0 is returned. Otherwise, -1 is returned and errno is set to indicate the error.

ERRORS

The acct() function will fail if: EACCES

The file named by path is not an ordinary file.

EBUSY

An attempt is being made to enable accounting using the same file that is currently being used.

EFAULT

The path argument points to an illegal address.

ELOOP

Too many symbolic links were encountered in translating path.

ENAMETOOLONG

The length of the path argument exceeds {PATH_MAX}, or the length of a path argument exceeds {NAME_MAX} while _POSIX_NO_TRUNC is in effect.

ENOENT

One or more components of the accounting file pathname do not exist.

ENOTDIR

A component of the path prefix is not a directory.

EPERM

The {PRIV_SYS_ACCT} privilege is not asserted in the effective set of the calling process.

EROFS

The named file resides on a read-only file system.

SEE ALSO

exit(2), acct.h(3HEAD), signal(3C), privileges(5)