NAME
stopping - event signalling that a job is stopping
SYNOPSIS
stopping JOB=JOB INSTANCE=INSTANCE RESULT=RESULT [PROCESS=PROCESS]
[EXIT_STATUS=STATUS] [EXIT_SIGNAL=SIGNAL] [ENV]...
DESCRIPTION
The stopping event is generated by the Upstart init(8) daemon when an
instance of a job begins stopping. The JOB environment variable
contains the job name, and the INSTANCE environment variable contains
the instance name which will be empty for single-instance jobs.
If the job is stopping normally, the RESULT environment variable will
be ok, otherwise if the job is stopping because it has failed it will
be failed.
When the job has failed, the process that failed will be given in the
PROCESS environment variable. This may be pre-start, post-start, main,
pre-stop or post-stop; it may also be the special value respawn to
indicate that the job is stopping because it hit the respawn limit.
Finally in the case of a failed job, one of either EXIT_STATUS or
EXIT_SIGNAL may be given to indicate the cause of the stop. Either
EXIT_STATUS will contain the exit status code of the process, or
EXIT_SIGNAL will contain the name of the signal that the process
received. The normal exit job configuration stanza can be used to
prevent particular exit status values or signals resulting in a failed
job, see init(5) for more information.
If neither EXIT_STATUS or EXIT_SIGNAL is given for a failed process, it
is because the process failed to spawn (for example, file not found).
See the system logs for the error.
init(8) will wait for all services started by this event to be running,
all tasks started by this event to have finished and all jobs stopped
by this event to be stopped before allowing the job to continue
stopping.
This allows jobs to depend on other jobs, safely stopping themselves
before their dependency goes away. This event is typically combined
with the started(7) event by services.
Job configuration files may use the export stanza to export environment
variables from their own environment into the stopping event. See
init(5) for more details.
EXAMPLE
A service that wishes to depend on another service might use:
start on started apache
stop on stopping apache
A task that must be run before another task or service is stopped might
use:
start on stopping postgresql RESULT=ok
SEE ALSO
starting(7) started(7) stopped(7) init(5)