位置:首页 > 其他技术 > Unix/Linux系统调用 > acct()函数 Unix/Linux

acct()函数 Unix/Linux

名称

acct - 切换或关闭进程记帐

内容简介

#include <unistd.h> 

int acct(const char *filename);

描述

与现有的文件名作为参数调用时,占被打开,每个终止的进程的记录,被追加到文件名作为终止。参数为NULL 引起占用被关闭。

返回值

成功则返回0。错误则返回-1,errno 设置为合适。

错误

标签 描述
EACCES Write permission is denied for the specified file, or search permission is denied for one of the directories in the path prefix of filename (see also path_resolution(2)), or filename is not a regular file.
EFAULT filename points outside your accessible address space.
EIO Error writing to the file filename.
EISDIR filename is a directory.
ELOOP Too many symbolic links were encountered in resolving filename.
ENAMETOOLONG filename was too long.
ENFILE The system limit on the total number of open files has been reached.
ENOENT The specified filename does not exist.
ENOMEM Out of memory.
ENOSYS BSD process accounting has not been enabled when the operating system kernel was compiled. The kernel configuration parameter controlling this feature is CONFIG_BSD_PROCESS_ACCT.
ENOTDIR A component used as a directory in filename is not in fact a directory.
EPERM The calling process has insufficient privilege to enable process accounting. On Linux the CAP_SYS_PACCT capability is required.
EROFS filename refers to a file on a read-only file system.
EUSERS There are no more free file structures or we ran out of memory.

遵循于

SVr4, 4.3BSD (but not POSIX).

注意

没有账号产生的程序运行时发生崩溃。特别是无穷的过程从来没有账号。