ACCT(2) Руководство программиста Linux ACCT(2)

ИМЯ

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

ОБЗОР

#include <unistd.h>
int acct(const char *filename);

Требования макроса тестирования свойств для glibc (см. feature_test_macros(7)):

acct():


    начиная с glibc 2.21:

        _DEFAULT_SOURCE

    в glibc 2.19 и 2.20:

        _DEFAULT_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500)

    до glibc 2.19, включительно:

        _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500)

ОПИСАНИЕ

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

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

При успешном выполнении возвращается 0. В случае ошибки возвращается -1, а errno устанавливается в соответствующее значение.

ОШИБКИ

Нет прав на запись в указанный файл, или в одном из каталогов в pathname не разрешён поиск (см. также path_resolution(7)), или filename не является обычным файлом.
Аргумент filename указывает за пределы доступного адресного пространства.
Ошибка записи в файл filename.
filename является каталогом.
Во время определения pathname встретилось слишком много символьных ссылок.
Слишком длинное значение аргумента pathname.
Достигнуто максимальное количество открытых файлов в системе.
Указанный файл не существует.
Не хватает памяти.
BSD учёт процессов не может быть разрешён, если эта возможность не была включена при компиляции ядра операционной системы. Этой возможностью управляет параметр настройки ядра CONFIG_BSD_PROCESS_ACCT.
Компонент пути в pathname в действительности не является каталогом.
Вызвавшему процессу не хватает прав включить учёт процессов. В Linux для этого требуется мандат CAP_SYS_PACCT.
filename указывает на файл в файловой системе, доступной только для чтения.
Закончились свободные файловые структуры или память.

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

SVr4, 4.3BSD (но не POSIX).

ЗАМЕЧАНИЯ

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

Структура записей, записываемых в файл учёта, описана в acct(5).

СМОТРИТЕ ТАКЖЕ

acct(5)

2016-03-15 Linux