RHEL7: Start, stop, and check the status of network services.
Note: This is an RHCSA 7 exam objective and an RHCE 7 exam objective.
Presentation
Even though this topic seems very simple, you need to fully understand all its details.
Also, there is a kind of compatibility between the RHEL 6 service command and the RHEL 7 systemctlcommand: service daemon cmd => systemctl cmd daemon
Basic Service Management
To start a network service (here httpd), type:
# systemctl start httpd
Note: In addition, a service can be restarted with the restart option or only reloaded with the reload option.
To stop a network service (here httpd), type:
# systemctl stop httpd
To check if a network service (here httpd) is running, type:
# systemctl is-active httpd
unknown
Note: If the service is running, you get active.
To activate a network service at boot (here httpd), type:
# systemctl enable httpd
ln -s '/usr/lib/systemd/system/httpd.service' '/etc/systemd/system/multi-user.target.wants/httpd.service'
Note1: Use the disable option to inactivate a network service at boot. Note2: Systemd uses a link mechanism to manage this feature.
To check if a network service (here httpd) is enabled at boot, type:
# systemctl is-enabled httpd
disabled
Note: If the service is enabled at boot, you get enabled.
To check the status of a network service (here httpd), type:
# systemctl status httpd
httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled)
Active: active (running) since Fri 2015-06-19 16:47:18 CEST; 6min ago
Main PID: 3868 (httpd)
Status: "Total requests: 0; Current requests/sec: 0; Current traffic: 0 B/sec"
CGroup: /system.slice/httpd.service
└─3868 /usr/sbin/httpd -DFOREGROUND
└─3869 /usr/sbin/httpd -DFOREGROUND
└─3870 /usr/sbin/httpd -DFOREGROUND
└─3871 /usr/sbin/httpd -DFOREGROUND
└─3872 /usr/sbin/httpd -DFOREGROUND
└─3873 /usr/sbin/httpd -DFOREGROUND
Jun 19 16:47:18 server1.example.com systemd[1]: Starting The Apache HTTP Ser....
Jun 19 16:47:18 server1.example.com systemd[1]: Started The Apache HTTP Server.
Hint: Some lines were ellipsized, use -l to show in full.
Note: There are many information available through this command, learn to use them.
Advanced Service Management
To permanently disable a service (here httpd), type:
# systemctl mask httpd
ln -s '/dev/null' '/etc/systemd/system/httpd.service'
Note1: Masking a service prevents it from starting even if it is socket-activated or dbus-activated. Note2: Use the unmask option to enable the service again.
Additional Resources
Make sure you visit the Systemd page. Sander van Vugt provides an interesting video about Managing services (5min/2016).
Leave a comment