Several examples of widely used services are: httpd (Apache Web server), sshd (SSH server), nfs (NFS server), autofs (AutoFS service), vsftpd (the "Very Secure FTP" server), and many more...
Start a Service
# systemctl start
Stop a Service
# systemctl stop
Restart a Service
# systemctl restart
A Conditional Restart of a Service (Restarts a service only if it's already running)
# systemctl try-restart
Reload a Service
# systemctl reload
Check whether a Service is Running
# systemctl status
( Or: # systemctl is-active
List all Available Services and Show their Running Status
Note: may be "piped" through grep, to find a specific service: | grep
# systemctl list-units --type service --all
or systemctl list-units -t service
Enable a Service (this makes it start automatically at start up)
does what chkconfig on used to do.
# systemctl enable
Disable a Service (this stops the service from starting at startup)
does what chkconfig off used to do.
# systemctl disable
Check whether a Service is Enabled
# systemctl is-enabled
( Also mentioned in: # systemctl status
List all Available Services, and check whether they are Enabled
Note: may be piped through grep, to find a specific service: | grep
# systemctl list-unit-files --type service
Kill all Running Processes Related to a Service
# systemctl kill
Available unit types.
Service unit .service A system service.
Target unit .target A group of systemd units.
Automount unit .automount A file system automount point.
Device unit .device A device file recognized by the kernel.
Mount unit .mount A file system mount point.
Path unit .path A file or directory in a file system.
Scope unit .scope An externally created process.
Slice unit .slice A group of organized units that manage system processes.
Snapshot unit .snapshot A saved state of the systemd manager.
Socket unit .socket An inter-process communication socket.
Swap unit .swap A swap device or a swap file.
Timer unit .timer A systemd timer.
Systemd primary task is to manage the boot process and provides information about it.
To get the boot process duration, type:
To get the time spent by each task during the boot process, type:
# systemd-analyze blame
To get the list of the dependencies, type:
# systemctl list-dependencies
To move to single user mode, type:
# systemctl rescue
To move to the level 3 (equivalent to the previous level 3), type:
# systemctl isolate runlevel3.target
# systemctl isolate multi-user.target
To move to the graphical level (equivalent to the previous level 5), type:
# systemctl isolate graphical.target
To set the default run level to non-graphical mode, type:
# systemctl set-default multi-user.target
To set the default run level to graphical mode, type:
# systemctl set-default graphical.target
To get the current default run level, type:
# systemctl get-default
To stop a server, type:
# systemctl poweroff
Note: You can still use the poweroff command, a link to the systemctl command has been created (the same thing is true for the halt and reboot commands).
To reboot , suspend it or put your machine into hibernation, type:
# systemctl reboot
# systemctl suspend
# systemctl hibernate
In addition, Systemd handles the system event log, a syslog daemon is not mandatory any more.
To get the content of the Systemd journal, type:
To get all the events related to the crond process in the journal, type:
# journalctl /sbin/crond
Note: You can replace /sbin/crond by `which crond`.
To get all the events since the last boot, type:
# journalctl -b
To get all the events that appeared today in the journal, type:
# journalctl --since=today
To get all the events with a syslog priority of err, type:
# journalctl -p err
To get the 10 last events and wait for any new one (like “tail -f /var/log/messages“), type:
# journalctl -f