ACCT
Section: Linux Programmer's Manual (2)
Updated: 2016-03-15
Index
Return to Main Contents
名前
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() システムコールは、プロセスアカウントの有効・無効を切り替える。 既存のファイルの名前を引き数に指定して呼び出されたら、 アカウント
(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.07 の一部である。
プロジェクトの説明、バグ報告に関する情報、このページの最新版は、
http://www.kernel.org/doc/man-pages/ に書かれている。
Index
- 名前
-
- 書式
-
- 説明
-
- 返り値
-
- エラー
-
- 準拠
-
- 注意
-
- 関連項目
-
- この文書について
-
This document was created by
man2html,
using the manual pages.
Time: 22:44:22 GMT, December 29, 2020