Go to main content

man pages section 1: User Commands

Exit Print View

Updated: Thursday, June 13, 2019
 
 

ctwatch(1)

Name

ctwatch - watch events in a contract or group of contracts

Synopsis

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

Description

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.

Options

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.

Operands

The following operands are supported:

contract-type

Valid contract types are:

process

Process contracts.

contract-id

A valid contract id.

OUTPUT

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.

Examples

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

Exit Status

The following exit values are returned:

0

Successful completion.

1

An error occurred.

2

Invalid arguments.

Files

/system/contract/*

Attributes

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

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Availability
system/core-os
Interface Stability
See below.

Human Readable Output is Uncommitted. Invocation is Committed.

See Also

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

Notes

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.