---
name: "acct"
section: "2freebsd"
platform: "linux"
package: "freebsd-manpages"
version: "12.2-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/acct/2freebsd"
---

# acct(2freebsd)

enable or disable process accounting

## NAME

**acct** – enable or disable process accounting

## LIBRARY

Standard C Library (libc, -lc)

## SYNOPSIS

**#include \<unistd.h\>**

*int*\

**acct**(*const char \*file*);

## DESCRIPTION

The **acct**() system call enables or disables the collection of system accounting records. If the argument *file* is a null pointer, accounting is disabled. If *file* is an *existing* pathname (null-terminated), record collection is enabled and for every process initiated which terminates under normal conditions an accounting record is appended to *file*. Abnormal conditions of termination are reboots or other fatal system problems. Records for processes which never terminate cannot be produced by **acct**().

For more information on the record structure used by **acct**(), see ⟨sys/acct.h⟩ and [acct(5)](/acct/5.md).

This call is permitted only to the super-user.

## NOTES

Accounting is automatically disabled when the file system the accounting file resides on runs out of space; it is enabled when space once again becomes available. The values controlling this behaviour can be modified using the following [sysctl(8)](/sysctl/8.md) variables:

- *kern.acct\_chkfreq*

  Specifies the frequency (in seconds) with which free disk space should be checked.

- *kern.acct\_resume*

  The percentage of free disk space above which process accounting will resume.

- *kern.acct\_suspend*

  The percentage of free disk space below which process accounting will suspend.

## RETURN VALUES

On error -1 is returned. The file must exist and the call may be exercised only by the super-user.

## ERRORS

The **acct**() system call will fail if one of the following is true:

- \[EPERM\]

  The caller is not the super-user.

- \[ENOTDIR\]

  A component of the path prefix is not a directory.

- \[ENAMETOOLONG\]

  A component of a pathname exceeded 255 characters, or an entire path name exceeded 1023 characters.

- \[ENOENT\]

  The named file does not exist.

- \[EACCES\]

  Search permission is denied for a component of the path prefix, or the path name is not a regular file.

- \[ELOOP\]

  Too many symbolic links were encountered in translating the pathname.

- \[EROFS\]

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

- \[EFAULT\]

  The *file* argument points outside the process's allocated address space.

- \[EIO\]

  An I/O error occurred while reading from or writing to the file system.

- \[EINTEGRITY\]

  Corrupted data was detected while reading from the file system.

## SEE ALSO

[acct(5)](/acct/5.md), [accton(8)](/accton/8.md), [sa(8)](/sa/8.md)

## HISTORY

The **acct**() function appeared in Version 7 AT&T UNIX.
