ACCT(2)

명칭
acct - 프로세스 어카운팅을 유효 또는 무효로 한다

프로그램 라이브러리
libc

서식
<unistd.h> int acct(const char *file)

해설
acct() 호출은, 시스템 어카운팅 레코드의 수집을 유효 또는 무효로 합니다. 인수 file 하지만 누르포인타인 경우, 어카운팅은 무효로 됩니다. file 하지만 기존 의 패스명 (눌 캐릭터로 끝난다)의 경우, 레코드 수집이 유효하게 되어, 개시되어 통상 상태로 종료한 각 프로세스에 대한 어카운팅 레코드가 file 에 추가됩니다. 비정상인 종료 상태란, 재기동 또는 그 외의 치명적인 시스템의 문제입니다. 결코 종료하지 않는 프로세스용의 레코드는 acct() 에 따라서는 작성할 수 없습니다.

acct() 하지만 사용하는 레코드 구조체의 상세한 것에 대하여는, /usr/include/sys/acct.h 및 acct(5) (을)를 참조해 주세요.

이 호출은 슈퍼 유저만 허가되고 있습니다.

주
어카운팅 파일이 존재하고 있는 파일 시스템의 빈 용량이 적게 되면(자), 어카운팅은 자동적으로 무효가 됩니다. 빈 용량이 증가해 다시 이용할 수 있게 되면(자) 유효하게 됩니다.

반환값
에러의 경우는 -1 이 돌려주어집니다. 파일은 존재하고 있을 필요가 있어, 호출은 슈퍼 유저만이 할 수 있습니다.

에러
acct() (은)는 다음의 경우에 처리를 실패합니다.

[EPERM]
    슈퍼 유저 이외의 유저에 의해 불려 갔습니다.

[ENOTDIR]
    패스의 원가요소중에 디렉토리 이외의 것이 포함되어 있습니다.

[ENAMETOOLONG]
    패스명의 원가요소가 255 캐릭터를 넘고 있는지, 또는 패스명 전체가 1023 캐릭터를 넘고 있습니다.

[ENOENT]
    지정된 파일이 존재하지 않습니다.

[EACCES]
    패스의 선두 원가요소에 대해 검색 퍼미션이 거부되고 있는지, 또는 패스명이 통상의 파일이 아닙니다.

[ELOOP]
    패스명을 변환할 경우에 검출된 기호 연결이 너무 많습니다.

[EROFS]
    지정된 파일은 읽기 전용 파일 시스템상에 있습니다.

[EFAULT]
    file (은)는, 프로세스에 할당할 수 있었던 address 공간의 범위외를 가리키고 있습니다.

[EIO]
    파일 시스템에 읽고 쓰기하고 있는 동안에 입출력 에러가 발생했습니다.

관련 항목
acct(5), sa(8)

역사
acct() 함수는 AT&T UNIX 그리고 등장했습니다.