Event signalling that a job is starting
starting JOB=JOB INSTANCE=INSTANCE [ENV]...
The starting event is generated by the Upstart init(8) daemon when a new instance of a job begins starting. 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.
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 starting.
This allows jobs to effectively insert themselves as dependencies of other jobs. The event is typically combined with the stopped(7) event by services.
Job configuration files may use the export stanza to export environment variables from their own environment into the starting event. See init(5) for more details.
A service that wishes to be running whenever another service would be running, started before and stopped after it, might use:
start on starting apache stop on stopped apache
A task that must be run before another task or service is started might use:
start on starting postgresql