acctprc1、acctprc2 或 accton 命令
用途
执行进程记账过程。
语法
acctprc1 [ InFile ]
acctprc2 [ -X]
accton [ [-@] OutFile ]描述
三个 acctprc 命令 acctprc1, acctprc2和 accton, 由 runacct 命令调用以执行进程记帐 shell 过程。
acctprc1 命令从标准输入读取 acct 格式的记录,并添加对应用户标识的登录名,然后将 ASCII 记录写至标准输出。 此记录包含用户标识,登录名,主 CPU 时间,非主 CPU 时间,传输的字符总数 (以 1024 字节为单位) ,读写的块总数以及每个进程的平均内存大小 (以 64 字节为单位)。
如果指定了此参数,那么 InFile 参数将包含 utmp 格式的登录会话列表,该列表按用户标识和登录名排序。 如果未指定 File 参数,那么 acctprc1 从 /etc/passwd 密码文件获取登录名。 InFile 参数中的信息有助于区分共享用户标识的不同登录名。
acctprc2 命令 (从标准输入) 读取 acctprc1 命令所写入的记录,按用户标识和名称对这些记录进行汇总,并将排序后的摘要作为总记帐记录写入标准输出。
当不带参数使用 accton 命令时,会关闭进程记帐。 如果指定 OutFile 参数(现有文件),那么打开进程记帐,且内核将记录添加至该文件。 指定要启动的进程记帐的 OutFile 参数。 OutFile 参数不是由 accton 命令创建的。 OutFile 参数指定的文件必须具有正确的组,所有者和许可权。 许多 shell 脚本期望 /var/adm/pacct 文件。
标志
| 项 | 描述 |
|---|---|
| -X | 处理每个用户名的所有可用字符,而不是截断为前 8 个字符。 该标志还会造成 acctprc2 命令产生 tacctx 格式化二进制记录,而不是 tacct 二进制记录。注: 此标志只能与 acctprc2 命令一起使用。
|
| -@ | 将 工作负载分区 进程记帐记录包括在全局 WPAR 记帐输出文件中。 在 工作负载分区中,此选项无效。 |
安全性
访问控制:这些命令应该只将执行 (x) 访问权 授予 adm 组的成员。
示例
- 要向二进制文件中的每个进程记帐记录添加用户名并将记录转换为 ASCII 文件名 out.file,请输入以下命令或使用 shell 脚本中的行:
/usr/sbin/acct/acctprc1 < /var/adm/pacct >out.file - 要产生示例 1 中的 ASCII 输出文件的总记账记录,请输入以下命令或在 shell 脚本中使用这些行:
最后生成的文件是 tacct 格式的二进制总记帐文件,它包含按用户标识排序的各个记录。 acctmerg 命令将文件 /var/adm/acct/nite/daytacct 与其他总记帐记录合并,以在 /var/adm/acct/sum/tacct 文件中生成每日摘要记录。/usr/sbin/acct/acctprc2 < out.file > \ /var/adm/acct/nite/daytacct - 要关闭记帐进程,请输入以下命令:
/usr/sbin/acct/accton
文件
| 项 | 描述 |
|---|---|
| /usr/sbin/acct/acctprc1 | 包含 acctprc1 命令。 |
| /usr/sbin/acct/acctprc2 | 包含 acctprc2 命令。 |
| /usr/sbin/acct/accton | 包含 accton 命令。 |
| /etc/accton | 链接到实际 accton 命令目录的符号链接。 |
| /etc/passwd | 包含基本用户属性,包括 acctprc1 命令使用的用户标识。 |