Manpages

ИМЯ

acct − включает или выключает учёт процессов

ОБЗОР

#include <unistd.h>

int acct(const char *filename);

ОПИСАНИЕ

Когда при вызове, в качестве аргумента, указывается имя существующего файла, происходит включение учёта, при завершении процесса, в файл filename добавляются записи для каждого завершившегося процесса. Если в качестве аргумента указан NULL, то учёт выключается.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

В случае успеха, возвращается ноль. В случае ошибки возвращается −1 и errno устанавливается в соответствующее значение.

ОШИБКИ

EACCES

Для указанного файла отсутствуют права на запись.

EACCES

Аргумент filename не является обычным файлом.

EFAULT

filename указывает за пределы доступного вам адресного пространства.

EIO

Ошибка записи в файл filename.

EISDIR

filename является каталогом.

ELOOP

Во время определения filename встретилось слишком много символьных ссылок (зацикливание по символьным сслыкам -- прим. пер.).

ENAMETOOLONG

filename слишком длинно.

ENOENT

Файл с указанным именем не существует.

ENOMEM

Не хаватает памяти.

ENOSYS

BSD учёт процессов не может быть разрешён, если эта возможность не была включена при компиляции ядра операционной системы. Этой возможностью управляет конфигурационный параметр ядра CONFIG_BSD_PROCESS_ACCT.

ENOTDIR

Один из компонентов в пути filename который указан как каталог, на самом деле не является каталогом.

EPERM

Вызывающий процесс не имеет прав для того, чтобы разрешить учёт процессов.

EROFS

filename указывает на файл в файловой системе, доступной только для чтения.

EUSERS

Больше нет свободных файловых структур или произошло переполнение памяти.

СОВМЕСТИМОСТЬ СО СТАНДАРТАМИ

SVr4 (но не POSIX). SVr4 документирует условия ошибки EBUSY, но не ошибок EISDIR или ENOSYS. Также AIX и HPUX документируют ошибку EBUSY (попытку разрешить учёт, когда он уже разрешён), как в Solaris (попытка разрешить учёт, используя такое же имя файла, которое уже было использовано).

ЗАМЕЧАНИЕ

Учёт не производится для программ, которые заканчиваются аварийно. В частности, незавершаемые процессы никогда не учитываются.

ПЕРЕВОД

Перевёл с английского Виктор Вислобоков <corochoone [AT] perm.ru> 2003