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)