ИМЯ¶
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@perm.ru> 2003