Boot Script Tasks
Details
You are reading version 017 of this page. The current version can be found here.
Your boot scripts can make use of “boot tasks”, which are little service scripts
that can be shipped by programs. A program includes its tasks under
Resources/Tasks
, and they’re linked in /System/Tasks
. This is roughly
equivalent to the /etc/init.d
scripts found in many distributions.
You can launch or stop tasks from the command line, using
StartTask
and StopTask
.
For example, the following command will load the SSH daemon:
StartTask OpenSSH
Within boot scripts, you don’t need to use these launchers, but you have to add a parameter indicating whether the task is being started or stopped:
Exec "Initializing OpenSSH server..." OpenSSH Start
Creating tasks
Strictly speaking, a task is simply a shell script put in the appropriate
directory, which accepts start
and stop
parameters. In this imaginary
example, one could have a file /Programs/Foo/1.0/Resources/Tasks/Foo
with
these contents:
#!/bin/sh
case "$1" in
[Ss]tart)
# actions to start foo go here
foo --silly-walk
;;
[Ss]top)
# actions to stop foo go here
killall foo
;;
esac
It’s a good idea to use the above example as a template for tasks you create.
The [Ss]
syntax ensures that both start
and Start
are recognized, which is
nice to avoid typos.