CTWATCH(1) User Commands CTWATCH(1)

ctwatch - watch events in a contract or group of contracts

/usr/bin/ctwatch [-f] [-r] [-v] contract-type... | contract-id...

The ctwatch utility allows a user to observe the events occurring within a set of contracts or contract types. By default, ctwatch watches all contracts.

The following options are supported:

-f

Report events starting at the front of the event queue. Normally, ctwatch reports only events which occur after it has been invoked. With the -f option, any events that still exist in the contracts' event queues when ctwatch is invoked (for example, unacknowledged critical events) are also reported.

-r

Reliably watches all messages. Normally, the system may drop informative events and acknowledged critical events at any time, so ctwatch isn't guaranteed to see them all. This option may only be used if the ctwatch is invoked with the {PRIV_CONTRACT_EVENT} privilege asserted in its effective set.

-v

Request verbose event descriptions.

The following operands are supported:

contract-type

Valid contract types are:

process

Process contracts.

contract-id

A valid contract id.

The following list defines the column headings and the meanings of a ctwatch report:

CTID

The contract ID generating the event.

EVID

The event ID.

CRIT

Whether the event is informative, critical, or initiates an exit negotiation. Values are info, crit, or neg, respectively.

ACK

The event has been acknowledged. Values are yes or "no".

CTTYPE

The contract type.

SUMMARY

A type-specific summary of the event.

Example 1 Watching a process contract


example% ctwatch -r 1
CTID    EVID    CRIT ACK CTTYPE  SUMMARY
1       2       crit no  process pid 100569 was created
1       3       info no  process pid 100569 encountered hardware error
1       4       info no  process pid 100568 exited
1       5       info no  process pid 100569 exited
1       6       crit no  process contract empty

The following exit values are returned:

0

Successful completion.

1

An error occurred.

2

Invalid arguments.

/system/contract/*

See attributes(7) for descriptions of the following attributes:

ATTRIBUTE TYPE ATTRIBUTE VALUE
Interface Stability See below.

Human Readable Output is Unstable. Invocation is Evolving.

ctrun(1), ctstat(1), contract(5), process(5), attributes(7), privileges(7)

Ordering of events is only guaranteed within a single contract, or within a single type when a type is specified.

ctwatch can only observe those events which are generated by contracts owned or authored by processes with the same effective user ID as ctwatch, unless the {PRIV_CONTRACT_OBSERVER} privilege is asserted in its effective set.

July 14, 2004 OmniOS