Run upstart job exclusively or before upstart process
james.hunt at ubuntu.com
Thu May 10 22:58:20 UTC 2012
On 10/05/12 17:24, Rogerio Vinhal Nunes wrote:
> I'm already doing the start on starting mountall, but while the job is copying the directory some
> other jobs are processing. I don't know why, but when I do that the system simply stops (possibly
> triggers a deadlock) and after 2 minutes it says that the task modprobe is not responding for 120
> I figured that this task might be the module-init-tools, so I did:
> start on (starting mountall or starting module-init-tools)
> With that the system stops locking, but strangely my job runs twice. Is that expected?
The way to have your job start before *any* other is to use 'and' and specify all the jobs that
'start on startup'. To determine that list of jobs:
initctl show-config -e|egrep -v "\<emits\>"|grep -B1 " start on startup"|egrep -v "(start on|^--)"
However it might be easier and simpler to start your system with Upstart by adding the following to
the kernel command-line:
...and then having your job do:
start on foo
# copy /var here.
# kick off the rest of the system
initctl emit startup
This is in fact essentially what friendly-recovery does in recent versions on Ubuntu.
More information about the upstart-devel