ctstat - 显示活动的系统合同
/usr/bin/ctstat [-a] [-i contractid...] [-t type...] [-v] [-T u | d ] [interval [count]]
用户可通过 ctstat 实用程序观察系统上活动的合同。
除非指定 –i 或 –t 选项,否则 ctstat 会显示系统中所有合同的统计信息。
支持以下选项:
显示所有合同,不管其状态如何。缺省情况下只会显示处于 owned、inherited 或 orphan 状态的合同。
请求指定合同的状态,由其数字合同标识符 (contract_id) 标识。
此选项可以接受列表作为参数。列表中的项目可以用逗号分隔,也可以括在引号内并以逗号或空格分隔。
显示时间戳。
指定 u 表示时间的内部表示形式的印刷表示形式。请参见 time(2)。指定 d 表示标准日期格式。请参见 date(1)。
请求指定类型 (type) 的合同的状态。
此选项可以接受列表作为参数。列表中的项目可以用逗号分隔,也可以括在引号内并以逗号或空格分隔。
支持 以下类型:
进程合同
详细输出。
支持下列操作数:
每 interval 秒报告一次。
只列显 count 报告。
下面的列表定义了 ctstat 报告的列标题和含义:
合同的合同 ID。
合同创建者的区域 ID。
合同类型。
合同的状态:
合同为进程所有。
合同所有者异常退出,且所有者的进程合同继承了该合同。
合同所有者放弃了合同,合同所有者异常退出且所有者的进程合同未继承该合同,或继承了该合同的进程合同被其所有者放弃。
该合同不再处于活动状态。释放了合同的所有引用(开放式文件描述符、合同模板和事件)后,合同会自动从系统中删除。
如果合同处于 owned 状态,则为拥有合同的进程的 pid。如果合同处于 inherited 状态,则为主要进程合同的 id。
暂挂的未确认的关键事件的数量。
量程结束的时间,或者如果没有正在进行的协商,则为 -。
协商结束的时间,或者如果没有正在进行的协商,则为 -。
以下是报告系统中所有合同的示例:
example% ctstat -a CTID TYPE STATE HOLDER EVENTS QTIME NTIME 1 process owned 100579 0 - - 2 process dead - 1 - - 3 process inherit 1 3 - - 4 process orphan - 0 - -示例 2 获取系统中所有合同的详细报告。
以下是收集系统中所有合同的详细报告的示例:
example% ctstat -av CTID TYPE STATE HOLDER EVENTS QTIME NTIME 1 process owned 100579 0 - - informative event set: none critical event set: hwerr core fatal event set: hwerr parameter set: none member processes: 100600 100601 inherited ctids: none service fmri: svc:/system/init:default svc_fmri ctid: 1 creator: sched aux: 2 process dead - 1 - - informative event set: none critical event set: none fatal event set: hwerr core parameter set: pgrponly member processes: none inherited ctids: none service fmri: svc:/system/power:default svc_fmri ctid: 19 creator: svc.startd aux: start
将返回以下退出值:
成功完成。
出现错误。
无效参数。
/system/contract/*
有关下列属性的说明,请参见 attributes(7):
|
用户可读的输出是 "Uncommitted"(未确定)。调用为 Committed(已确定)。