tail head cat sleep
QR code linking to this page

manページ  — ACCT

名称

acct – プロセスアカウンティングを有効または無効にする

内容

ライブラリ

Standard C Library (libc, -lc)

書式

#include <unistd.h>

int
acct(const char *file);

解説

acct() システムコールは、システムアカウンティングレコードの収集を有効または 無効にします。引数 file が NULL ポインタである場合、アカウンティングは無効にされます。 file 既存 のパス名 (ヌル文字で終わる) の場合、レコード収集が有効になり、 開始されて通常の状態で終了した各プロセスについてのアカウンティングレコードが file に追加されます。 異常な終了状態とは、再起動またはその他の致命的なシステムの問題です。 決して終了しないプロセス用のレコードは acct() によっては作成できません。

acct() が使用するレコード構造体の詳細については、 <sys/acct.h> および acct(5) を参照してください。

この呼び出しはスーパユーザにだけ許可されてます。

アカウンティングファイルが存在しているファイルシステムの空き容量が 少なくなると、アカウンティングは自動的に無効になります。 空き容量が増えて再び利用できるようになると有効になります。 この振舞いを制御する値は、以下の sysctl(8) 変数を使用して変更することが可能です:
kern.acct_chkfreq
  空きディスク領域がチェックされるべき頻度を (秒単位で) 指定します。
kern.acct_resume
  プロセスアカウンティングを再開する、空きディスク領域のパーセンテージです。
kern.acct_suspend
  プロセスアカウンティングを中断する、空きディスク領域のパーセンテージです。

戻り値

エラーの場合は -1 が返されます。 ファイルは存在している必要があり、呼び出しはスーパユーザだけができます。

エラー

acct() システムコールは次の場合に処理を失敗します:
[EPERM]
  スーパユーザ以外のユーザによって呼び出されました。
[ENOTDIR]
  パスの構成要素中にディレクトリ以外のものが含まれています。
[ENAMETOOLONG]
  パス名の構成要素が 255 文字を越えているか、 またはパス名全体が 1023 文字を越えています。
[ENOENT]
  指定されたファイルが存在しません。
[EACCES]
  パスの先頭構成要素について検索パーミッションが拒否されているか、 またはパス名が通常のファイルではありません。
[ELOOP]
  パス名を変換するときに検出されたシンボリックリンクが多すぎます。
[EROFS]
  指定されたファイルは読取り専用ファイルシステム上にあります。
[EFAULT]
  file 引数が、プロセスに割り当てられたアドレス空間の範囲外を指しています。
[EIO] ファイルシステムに読み書きしている間に入出力エラーが発生しました。

関連項目

acct(5), accton(8), sa(8)

歴史

acct() 関数は AT&T v7 で登場しました。

ACCT (2) April 17, 2004

tail head cat sleep
QR code linking to this page


このマニュアルページサービスについてのご意見は Ben Bullock にお知らせください。 Privacy policy.

Never write it in C if you can do it in `awk';
Never do it in `awk' if `sed' can handle it;
Never use `sed' when `tr' can do the job;
Never invoke `tr' when `cat' is sufficient;
Avoid using `cat' whenever possible.
— Taylor's Laws of Programming