スポンサーリンク

ACCT(5) FreeBSD ファイルフォーマットマニュアル ACCT(5)

名称

acct − 実行アカウントファイル

書式

#include <sys/types.h>
#include <sys/acct.h>

解説

カーネルは、下記の acct 情報構造を、全プロセスに対して管理します。プロセ スが終了すると、アカウンティングが有効になっている場合には、カーネルは acct(2) 関数呼び出しを行い、アカウンティングファイルに記録を追加します。

/*
 * アカウンティング構造体; これらは、基底値 8 の 3 ビット指数部および
 * 13 ビット小数部の ‘‘浮動小数点数’’ である comp_t 型を使用します。
 * 単位は 1/AHZ 秒です。
 */
typedef u_short comp_t;

#define AC_COMM_LEN 16
struct acct {

char

ac_comm[AC_COMM_LEN]; /* コマンド名 */

comp_t

ac_utime;

/* ユーザ時間 */

comp_t

ac_stime;

/* システム時間 */

comp_t

ac_etime;

/* 経過時間 */

time_t

ac_btime;

/* 開始時刻 */

uid_t

ac_uid;

/* ユーザ ID */

gid_t

ac_gid;

/* グループ ID */

short

ac_mem;

/* 平均メモリ使用量 */

comp_t

ac_io;

/* 入出力ブロック数 */

dev_t

ac_tty;

/* 制御 tty */

#define

AFORK

0x01

/* fork したが exec されていない */

#define

ASU

0x02

/* スーパユーザ権限を使用した */

#define

ACOMPAT

0x04

/* 互換モードを使用した */

#define

ACORE

0x08

/* コアダンプした */

#define

AXSIG

0x10

/* シグナルにより kill された */

char

ac_flag;

/* アカウンティングフラグ */

};

/*
* 1/AHZ の粒度で、データは comp_t フィールドにエンコードされます。
* 必ずしも周波数と同一となるとは限りません。
*/

#define

AHZ

64

終了したプロセスが execve(2) により生成されたものだった場合、実行された ファイルのファイル名 (最大 10 文字まで) が ac_comm フィールドに保存され、 その状態は ac_flag の次のフラグの 1 つ以上を設定することにより保存されま す: AFORK, ACOMPAT, ACORE, ASIG 。 ASU はもはやサポートされていません。

関連項目

acct(2), execve(2), sa(8)

歴史

acct ファイルフォーマットは Version 7 AT&T UNIX から登場しました。

FreeBSD 10.0 June 5, 1993 FreeBSD 10.0

スポンサーリンク