1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107
|
.TH stopping 7 2009-07-09 "Upstart"
.\"
.SH NAME
stopping \- event signalling that a job is stopping
.\"
.SH SYNOPSIS
.B stopping
.BI JOB\fR= JOB
.BI INSTANCE\fR= INSTANCE
.BI RESULT\fR= RESULT
.IB \fR[ PROCESS\fR= PROCESS \fR]
.IB \fR[ EXIT_STATUS\fR= STATUS \fR]
.IB \fR[ EXIT_SIGNAL\fR= SIGNAL \fR]
.RI [ ENV ]...
.\"
.SH DESCRIPTION
The
.B stopping
event is generated by the Upstart
.BR init (8)
daemon when an instance of a job begins stopping. The
.B JOB
environment variable contains the job name, and the
.B INSTANCE
environment variable contains the instance name which will be empty for
single-instance jobs.
If the job is stopping normally, the
.B RESULT
environment variable will be
.IR ok ,
otherwise if the job is stopping because it has failed it will be
.IR failed .
When the job has failed, the process that failed will be given in the
.B PROCESS
environment variable. This may be
.IR pre-start ", " post-start ", " main ", " pre-stop " or " post-stop ;
it may also be the special value
.I 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
.B EXIT_STATUS
or
.B EXIT_SIGNAL
may be given to indicate the cause of the stop. Either
.B EXIT_STATUS
will contain the exit status code of the process, or
.B EXIT_SIGNAL
will contain the name of the signal that the process received. The
.B normal exit
job configuration stanza can be used to prevent particular exit status
values or signals resulting in a failed job, see
.BR init (5)
for more information.
If neither
.B EXIT_STATUS
or
.B 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.
.BR 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
.BR started (7)
event by services.
Job configuration files may use the
.B export
stanza to export environment variables from their own environment into
the
.B stopping
event. See
.BR init (5)
for more details.
.\"
.SH EXAMPLE
A service that wishes to depend on another service might use:
.RS
.nf
start on started apache
stop on stopping apache
.fi
.RE
A task that must be run before another task or service is stopped might
use:
.RS
.nf
start on stopping postgresql RESULT=ok
.fi
.RE
.\"
.SH SEE ALSO
.BR starting (7)
.BR started (7)
.BR stopped (7)
.BR init (5)
|