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).
注意
没有账号产生的程序运行时发生崩溃。特别是无穷的过程从来没有账号。