acct 子例程

用途

启用和禁用流程记帐。

标准 C 库 (libc.a)

语法

int acct ( Path)
char *Path;

描述

Path 参数指定为终止的每个进程写入记帐记录的文件的路径名时, acct 子例程将启用记帐例程。 当 Path 参数为 0 或空值时, acct 子例程将禁用记帐例程。

如果 Path 参数引用符号链接,那么 acct 子例程会使记录写入符号链接指向的文件。

如果系统上安装了网络文件系统 (NFS) ,那么记帐文件可以驻留在另一个节点上。

注: 要确保精确记帐,每个节点都必须有自己的记帐文件。 虽然没有两个节点应该共享记帐文件,但一个节点的记帐文件可以位于网络中的任何节点上。

调用进程必须具有 root 用户权限才能使用 acct 子例程。

参数

描述
路径 指定指向文件路径名的指针或空指针。

返回值

成功完成时, acct 子例程返回值 0。 否则,返回值为-1,并设置全局变量 errno来指示错误。

错误代码

如果下列一项或多项为真,那么 acct 子例程不成功:

描述
EACCES 对指定的记帐文件的写许可权被拒绝。
EACCES Path 参数指定的文件不是普通文件。
EBUSY 当已启用记帐时,将尝试启用该记帐。
ENOENT Path 参数指定的文件不存在。
EPERM 调用进程没有 root 用户权限。
EROFS 指定的文件位于只读文件系统上。

如果在系统上安装了 NFS ,那么如果以下情况成立,那么 acct 子例程将失败:

描述
ETIMEDOUT 连接超时。