ИМЯ
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