A member process received a fatal signal from a process in a different process contract.

Only core, hwerr, and signal events can be made fatal.

More events can be delivered than requested if ctrun requires them for its own purposes. For example, empty messages are always requested if a lifetime of contract is specified. See -l.

-Ffmri

Sets the process contract service FMRI field. To set this field the caller is required to have the {PRIV_CONTRACT_IDENTITY} in its effective set.

-llifetime

The following valid lifetime values are supported:

child

ctrun exits when the command exits, regardless of whether the contract is empty.

contract

ctrun exits only when the contract exits. This is the default.

none

ctrun exits immediately, orphaning the contract.

-ooption,[option ...]

The following options are supported:

noorphan

Kills all processes in the contract if the holder (ctrun) exits.

This option is invalid when a lifetime of none is specified.

pgrponly

If a fatal error occurs, kills at most the process group of which the errant process is a member.

regent

The contract inherits inheritable contracts when abandoned by member processes.

-rcount

If the contract encounters a fault, this option attempts to restart the command count times. If count is 0, the attempt to restart continues indefinitely. By default, ctrun does not attempt to restart the command.

This option is invalid if a lifetime other than contract is specified or if the pgrponly option is used.

-t

If the contract created by ctrun inherited subcontracts from its member processes, attempts to transfer them to the new contract when restarting.

This option is invalid unless -r is also specified.

-v

Displays contract events and ctrun actions as they occur.

-V

Displays verbose contract events, as are displayed by the -v option of ctwatch. Implies -v.

操作数

示例

示例 1 Running a Shell in a New Process Contract

The following example runs a shell in a new process contract:

example% ctrun -l child -o pgrponly ksh

The -lchild option argument is specified so that ctrun won't wait
until all children of the shell have exited. -opgrponly is specified
because an interactive ksh puts each job in a new process group, and
an error in one job is unlikely to affect the others.

示例 2 Running a Simple Server

The following example runs a simple server:

example% ctrun -r 0 -t -f hwerr,core,signal server

The -r0 and -t options are specified to indicate that if
the server encounters a fatal error, ctrun should try to restart it.
The -f option makes “hwerr“, “core”, and “signal” fatal events.

退出状态

If command is specified and successfully invoked (see exec(2)), the exit status
of ctrun is the exit status of command. Otherwise, ctrun exits with one
of the following values: