Provided by: manpages-ja-dev_0.5.0.0.20221215+dfsg-1_all
名前
acct - プロセスアカウントのオンとオフを切り換える
書式
#include <unistd.h> int acct(const char *filename); glibc 向けの機能検査マクロの要件 (feature_test_macros(7) 参照): acct(): Since glibc 2.21: _DEFAULT_SOURCE In glibc 2.19 and 2.20: _DEFAULT_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500) Up to and including glibc 2.19: _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500)
説明
acct() システムコールは、プロセスアカウントの有効・無効を切り替える。 既存のファイルの名 前を引数に指定して呼び出されたら、 アカウント (account) が有効になり、 終了したプロセスの 記録が filename に追記される。 NULL を引数として呼び出されたらアカウントをオフにする。
返り値
成功した場合は 0 が返される。エラーの場合は -1 が返され、 errno が適切に設定される。
エラー
EACCES 指定したファイルへの書き込み許可がなく、書き込みが拒否された。 または filename の ディレクトリ部分の何れかのディレクトリに検索許可がなく拒否された (path_resolution(7) も参照すること)。 または filename が通常 (regular) のファイル でない。 EFAULT アクセスできるアドレス空間の外を filename が指している。 EIO filename への書き込みにエラーが発生した。 EISDIR filename がディレクトリである。 ELOOP filename の実体にたどり着くまでのシンボリックリンクの数が多すぎる。 ENAMETOOLONG filename が長すぎる。 ENFILE オープンされたファイルの総数がシステム全体の制限に達した。 ENOENT 指定されたファイルが存在しない。 ENOMEM メモリー不足。 ENOSYS カーネルをコンパイルした時に BSD プロセスアカウントが有効になっていない。 この機能 はカーネルのコンフィグの CONFIG_BSD_PROCESS_ACCT パラメーターによって制御される。 ENOTDIR filename の中でディレクトリして扱われている要素が、 実際はディレクトリでない。 EPERM 呼び出したプロセスにはプロセスアカウントを有効にするのに十分な特権がない。 Linux で は CAP_SYS_PACCT ケーパビリティ (capability) が必要である。 EROFS 読み込みだけのファイルシステム上のファイルを filename が参照している。 EUSERS 使用可能なファイル構造体がないか、メモリーが足りない。
準拠
SVr4, 4.3BSD (POSIX ではない)。
注意
システムがクラッシュした時に実行中だったプログラムのアカウントは生成されない。 特に、終了 しないプログラムがアカウントされることはない。 アカウント用ファイルに書き込まれるレコードの構造体については acct(5) に説明がある。
関連項目
acct(5)
この文書について
この man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である。プロジェクトの 説明とバグ報告に関する情報は https://www.kernel.org/doc/man-pages/ に書かれている。