Managing Serviceguard Fifteenth Edition, reprinted May 2008

Configuring Packages and Their Services
Choosing Package Modules
Chapter 6298
An absolute pathname is required; neither the PATH variable nor any
other environment variable is passed to the command. The default shell
is /usr/bin/sh.
NOTE Be careful when defining service run commands. Each run command is
executed in the following way:
•The cmrunserv command executes the run command.
Serviceguard monitors the process ID (PID) of the process the run
command creates.
When the command exits, Serviceguard determines that a failure
has occurred and takes appropriate action, which may include
transferring the package to an adoptive node.
If a run command is a shell script that runs some other command
and then exits, Serviceguard will consider this normal exit as a
failure.
Make sure that each run command is the name of an actual service and
that its process remains alive until the actual service stops. One way to
manage this is to configure a package such that the service is actually a
monitoring program that checks the health of the application that
constitutes the main function of the package, and exits if it finds the
application has failed. The application itself can be started by an
external_script (see page 307).
This parameter is in the package control script for legacy packages.
service_restart The number of times Serviceguard will attempt to
re-run the service_cmd. Valid values are unlimited, none or any
positive integer value. Default is none.
If the value is unlimited, the service will be restarted an infinite
number of times. If the value is none, the service will not be restarted.
This parameter is in the package control script for legacy packages.
service_fail_fast_enabled Specifies whether or not Serviceguard
will halt the node (system reset) on which the package is running if the
service identified by service_name fails. Valid values are yes and no.
Default is no, meaning that failure of this service will not cause the node
to halt. yes is not meaningful if service_restart is set to unlimited.