Creating Your Own Service File with Network Requirements in CentOS

15 minutes
  • 2 Learning Objectives

About this Hands-on Lab

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 the network-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.

Additional Resources

You've been tasked with writing a service file for a piece of software called emacs.

The command to start it is:

emacs --daemon

The command to stop it is:

emacsclient --eval "(kill-emacs)"

The emacs software will fork a process and then exit.

The software should not start until the network is online.

What are Hands-on Labs

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.

Sign In
Welcome Back!

Psst…this one if you’ve been moved to ACG!

Get Started
Who’s going to be learning?