other sections
ACCT(2) | Linux Programmer's Manual | ACCT(2) |
名前¶
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) に説明がある。
関連項目¶
この文書について¶
この man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は https://www.kernel.org/doc/man-pages/ に書かれている。
2016-03-15 | Linux |