acct 子例程
用途
启用和禁用流程记帐。
库
标准 C 库 (libc.a)
语法
int acct ( Path)
char *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 | 连接超时。 |