svcadm(8)을 검색하려면 섹션에서 8 을 선택하고, 맨 페이지 이름에 svcadm을 입력하고 검색을 누른다.
ctrun(1)
ctrun(1) User Commands ctrun(1)
NAME
ctrun - execute command in a process contract
SYNOPSIS
/usr/bin/ctrun [options] command [ argument]...
DESCRIPTION
The ctrun utility starts a command in a newly created process contract.
ctrun holds the contract and can be instructed to output or respond to
events that occur within the contract.
For additional information about process contracts, see contract(5) and
process(5).
OPTIONS
The following options are supported:
-A aux
Sets the process contract creator's auxiliary field.
-i event,[event ...]
-f event,[event ...]
Sets the informative and fatal events, respectively.
The following are valid events:
core A member process dumped core.
core events are informative by default.
empty The last member of the process contract exited.
exit A member process exited.
fork A process was added to the process contract.
hwerr A member process encountered a hardware error.
hwerr events are fatal by default.
signal 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.
-F fmri
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.
-l lifetime
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.
-o option,[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 spec‐
ified.
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 aban‐
doned by member processes.
-r count
If the contract encounters a fault, this option attempts to restart
the command count times. If count is 0, the attempt to restart con‐
tinues indefinitely. By default, ctrun does not attempt to restart
the command.
This option is invalid if a lifetime other than contract is speci‐
fied 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.
OPERANDS
The following operands are supported:
argument One of the strings treated as an argument to command.
command The command to be passed to execvp(2). See exec(2).
EXAMPLES
Example 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 -l child option argument is specified so that ctrun won't wait
until all children of the shell have exited. -o pgrponly 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.
Example 2 Running a Simple Server
The following example runs a simple server:
example% ctrun -r 0 -t -f hwerr,core,signal server
The -r 0 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.
EXIT STATUS
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:
123 The child process exited abnormally.
124 ctrun encountered an internal error.
125 Invalid arguments were provided to ctrun.
126 command was found but could not be invoked.
127 command could not be found.
FILES
/system/contract/process/*
ATTRIBUTES
See attributes(7) for descriptions of the following attributes:
tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) ATTRIBUTE TYPEAT‐
TRIBUTE VALUE _ Availabilitysystem/core-os _ Interface StabilitySee
below.
Human Readable Output is Uncommitted. Invocation is Committed.
SEE ALSO
ctstat(1), ctwatch(1), exec(2), contract(5), process(5), attributes(7)
Oracle Solaris 11.4 22 Mar 2010 ctrun(1)