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).
注意
冇有賬號產生的程序運行時發生崩潰。特彆是無窮的過程從來冇有賬號。