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