Managing HP Serviceguard for Linux, Eighth Edition, March 2008

Configuring Packages and Their Services
Choosing Package Modules
Chapter 6220
For legacy packages, this parameter is in the package control script as
well as the package configuration file.
service_cmd
The command that runs the program or function for this service_name,
for example,
/usr/bin/X11/xclock -display 15.244.58.208:0
An absolute pathname is required; neither the PATH variable nor any
other environment variable is passed to the command. The default shell
is /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 226).
This parameter is in the package control script for legacy packages.