Basically, in Upstart, tasks and services are started and stopped by events.
Events are generated as other tasks and services are started and stopped and
may be received from any other process on the system. Services may be
respawned if they die unexpectedly and communication with the init
daemon occurs over D-Bus.
For now, Upstart is being used for many jobs, including boot and shutdown,
but not all services have Upstart jobs written. Those that exist reside, as
expected, in /etc/init and are easily accessible in the same basic manner
as init jobs. If an Upstart job exists and you try to manage it using the
traditional method, you get a message like this:
Click here to view code image
matthew@seymour:~$ sudo /etc/init.d/ufw stop
[sudo] password for matthew:
Rather than invoking init scripts through /etc/init.d, use the
service(8)
utility, e.g. service ufw stop
Since the script you are attempting to invoke has been converted to
an
Upstart job, you may also use the stop(8) utility, e.g. stop ufw
ufw stop/waiting
In this case, to start or stop Ubuntu’s Uncomplicated Firewall (UFW), you
just enter sudo start ufw or sudo stop ufw. Simple. If you want to
learn more about Upstart, start with http://upstart.ubuntu.com. There is also
an excellent cookbook filled with Upstart recipes at
[http://upstart.ubuntu.com/cookbook/. Read the following section before you](http://upstart.ubuntu.com/cookbook/. Read the following section before you)
dig too deeply into Upstart, however.
Using systemd
In 2015, Upstart was replaced with systemd. systemd was developed at
the same time as Upstart, and the two have been competing for the title of
“init replacement of the future.” systemd won. There isn’t much point in
learning a ton about Upstart, other than what you need for the moment. The
future lies with systemd.
To interact with systemd, you typically use the systemctl command.
The main interactions you are likely to have with systemd involve starting
and stopping services. Table 15.1 shows commands related to services.
Table 15.1 systemd Service-Related Commands