/usr/lib/acct/acctprc
/usr/lib/acct/acctprc1 [ctmp]
/usr/lib/acct/acctprc2
acctprc 读取标准输入并将其转换为总记帐记录(请参见 acct.h(3HEAD) 中的 tacct 记录)。acctprc 将 CPU 时间分为 prime 时间和 non-prime 时间,并确定平均内存大小(采用内存段单位)。然后,acctprc 根据用户 ID 汇总 tacct 记录,并添加与用户 ID 对应的登录名。然后,将汇总的记录写入到标准输出。acctprc1 以 acct.h(3HEAD) 所述的格式读取输入,添加与用户 IDs 对应的登录名,然后为每个进程写入 ASCII 行,其中给出用户 ID、登录名、prime CPU 时间 (tics)、non-prime CPU 时间 (tics) 以及平均内存大小(采用内存段单位)。如果指定 ctmp,它应包含按用户 ID 和登录名排序的登录会话列表。如果未提供该文件,它会从口令文件中获取登录名,就像 acctprc 那样。ctmp 中的信息可帮助它区分共享相同用户 ID 的不同登录名。
从标准输入中,acctprc2 按 acctprc1 写入的格式读取记录,根据用户 ID 和名称汇总这些记录,然后将排序后的摘要写入到标准输出,作为总记帐记录。
通常按下面所示的方式使用 acctprc 命令:
example% acctprc < /var/adm/pacct > ptacct
通常按如下所示方式使用 acctprc1 和 acctprc2s 命令:
example% acctprc1 ctmp </var/adm/pacct example% acctprc2 > ptacct
系统口令文件
有关下列属性的说明,请参见 attributes(5):
|
acctcom(1)、acct(1M)、acctcms(1M)、acctcon(1M)、acctmerg(1M)、acctsh(1M)、cron(1M)、fwtmp(1M)、runacct(1M)、acct(2)、acct.h(3HEAD)、utmpx(4)、attributes(5)
虽然 acctprc1 可以针对从命令行运行的命令来区分共享用户 IDs 的登录名,但 acctprc1 难以对以其他方式调用的命令进行此区分。通过 cron(1M) 运行命令就是 acctprc1 可能具有这方面困难的一个示例。使用 acct(1M) 中的 acctwtmp 程序可以进行更精确的转换。acctprc 不区分用户 ID 相同的用户。
平均内存大小的内存段是特定处理器上逻辑内存段中字节数的度量单位。
在任何给定命令的单个调用过程中,acctprc、acctprc1 和 acctprc2 命令最多可以处理
6000 个不同会话
1000 个不同终端行
2000 个不同登录名
如果在某个时刻这些项中的任一项的实际数目超过了最大值,该命令将不会成功。