At some point in your career as a system administrator, you’ll be given a piece of software that doesn’t have its own service file. If that ever happens, the skills gained here will let you write up a service file so `systemd` can manage the service with no issues.
Learning Objectives
Successfully complete this lab by achieving the following learning objectives:
- Identify the Target to Use to Determine if the Network Is Online
In
/usr/lib/systemd/system
, there are a number of targets you might be able to use.Among them,
network-online.target
seems like the best bet.If you look at
man 7 systemd.special
there’s an entry about thenetwork-online.target
as well, and that looks like the right thing.- Write the Custom Service File
First, navigate to
/etc/systemd/system
to place our custom service file.There, open
custom.service
and fill it out so it looks like this:[Unit] Description=Custom Service Wants=network-online.target After=network-online.target [Service] Type=forking ExecStart=/usr/bin/emacs --daemon ExecStop=/usr/bin/emacsclient --eval "(kill-emacs)" [Install] WantedBy=default.target
Once complete, test it with:
systemctl start custom.service
Once it’s running, leave it that way and you’ve completed the task.