systemd | SysVinit | |
---|---|---|
Start a service | systemctl start service_name.service | service service_name start |
Stop a service | systemctl stop service_name.service | service service_name stop |
Restart a service | systemctl restart service_name.service | service service_name restart |
Reload a service | systemctl reload service_name.service | service service_name reload |
Service status | systemctl status service_name.service | service service_name status |
Restart a service if already running | systemctl condrestart service_name.service | service service_name condrestart |
Enable service at startup | systemctl enable service_name.service | chkconfig service_name on |
Disable service at startup | systemctl disable service_name.service | chkconfig service_name off |
Check if a service is enabled at startup | systemctl is-enabled service_name.service | chkconfig service_name |
Create a new service file or modify configuration | systemctl daemon-reload service_name.service | chkconfig service_name --add |
NOTE: New versions of systemd support systemctl start service_name etc.
systemd | SysVinit | |
---|---|---|
System halt | runlevel0.target,poweroff.target | 0 |
Single user mode | runlevel1.target,rescue.target | 1, s, single |
Multi user | runlevel2.target, multi-user.target | 2 |
Multi user with network | runlevel3.target, multi-user.target | 3 |
Experimental | runlevel4.target, multi-user.target | 4 |
Multi user with network and GUI | runlevel5.target, graphical.target | 5 |
Reboot | runlevel5.target, reboot.target | 6 |
Emergency shell | emergency.target | emergency |
Change to multi-user runlevel | systemctl isolate multi-user.target | telinit 3 |
Set multi-user level for next boot | ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target | sed s/^id:.*:initdefault:/id:3:initdefault:/ |
Check current runlevel | systemctl get-default | runlevel |
Change default runlevel | systemctl set-default multi-user.target | sed s/^id:.*:initdefault:/id:3:initdefault:/ |
systemd | SysVinit | |
---|---|---|
System halt | systemctl halt | halt |
Power off the system | systemctl poweroff | poweroff |
Restart the system | systemctl reboot | reboot |
Suspend the system | systemctl suspend | pm-suspend |
Hibernate | systemctl hibernate | pm-hibernate |
Follow the system log file | journalctl -f | tail -f /var/log/messages or tail -f /var/log/syslog |
Execute a systemd command on a remote host | systemctl service_name.service start -H user@host |
Check boot time | systemd-analyze or systemd-analyze time |
Kill all processes related to a service | systemctl kill service |
Get logs for events for today | journalctl --since=today |
Hostname and other host-related info | hostnamectl |
Date and time of system with timezone and other info | timedatectl |
systemctl mask system_name.service
Masking a service prevents the service from being started manually or automatically.
For this example, systemctl is creating a symlink from /etc/systemd/system/service_name.service to /dev/null.
Targets in /etc/systemd override those provided by packages in /lib/systemd.
systemd recognizes the symlink and will not start the service.