- Lab
- A Cloud Guru
Creating Your Own Service File with Network Requirements in CentOS
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.
Path Info
Table of Contents
-
Challenge
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. -
Challenge
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.
What's a lab?
Hands-on Labs are real environments created by industry experts to help you learn. These environments help you gain knowledge and experience, practice without compromising your system, test without risk, destroy without fear, and let you learn from your mistakes. Hands-on Labs: practice your skills before delivering in the real world.
Provided environment for hands-on practice
We will provide the credentials and environment necessary for you to practice right within your browser.
Guided walkthrough
Follow along with the author’s guided walkthrough and build something new in your provided environment!
Did you know?
On average, you retain 75% more of your learning if you get time for practice.