Managing Serviceguard Seventeenth Edition, First Reprint December 2009

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
(page 285).
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.
service_halt_timeout
The length of time, in seconds, Serviceguard will wait for the service to halt before
forcing termination of the service’s process. The maximum value is 4294.
The value should be large enough to allow any cleanup required by the service to
complete.
If no value is specified, a zero timeout will be assumed, meaning that Serviceguard
will not wait any time before terminating the process.
Choosing Package Modules 277