Когда при вызове, в качестве аргумента, указывается имя существующего файла,
происходит включение учёта, при завершении процесса, в файл
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
(попытка разрешить учёт, используя такое же имя файла, которое уже
было использовано).
ЗАМЕЧАНИЕ
Учёт не производится для программ, которые заканчиваются аварийно. В частности,
незавершаемые процессы никогда не учитываются.