Systemd

最常用的 Systemd 命令备忘单快速参考

命令

查看系统信息

:--
systemctl list-dependencies显示单元的依赖关系
systemctl list-sockets列出套接字和激活的内容
systemctl list-jobs查看活动的 systemd 作业
systemctl list-unit-files查看单元文件及其状态
systemctl list-units显示单位是否已加载/活动
systemctl get-default列出默认目标(如运行级别)

改变系统状态

:--
systemctl reboot重启系统(reboot.target)
systemctl poweroff关闭系统(poweroff.target)
systemctl emergency进入紧急模式(emergency.target)
systemctl default返回默认目标(multi-user.target)

使用服务

:--
systemctl stop service停止正在运行的服务
systemctl start service启动服务
systemctl restart service重新启动正在运行的服务
systemctl reload service重新加载服务中的所有配置文件
systemctl daemon-reload必须运行以重新加载更改的单元文件
systemctl statusservice 查看服务是否正在运行/启用
systemctl --failed显示未能运行的服务
systemctl reset-failed将任何单位从失败状态重置
systemctl enable service使服务在启动时启动
systemctl disable service禁用服务 - 不会在启动时启动
systemctl show service显示服务(或其他单元)的属性
systemctl edit service创建片段以放入单元文件
systemctl edit --full service编辑整个单元文件以进行服务
systemctl -H host status network远程运行任何 systemctl 命令

查看日志消息

:--
journalctl显示所有收集的日志消息
journalctl -u network.service查看网络服务消息
journalctl -f关注出现的消息
journalctl -k仅显示内核消息

SysVinit 到 Systemd

SysVinitSystemd说明
service SERVICE_NAME startsystemctl start SERVICE_NAME用于启动服务(不重启持久)
service SERVICE_NAME stopsystemctl stop SERVICE_NAME用于停止服务(不永久重启)
service SERVICE_NAME restartsystemctl restart SERVICE_NAME用于停止然后启动服务
service SERVICE_NAME reloadsystemctl reload SERVICE_NAME重新加载配置文件而不中断挂起的操作
service SERVICE_NAME condrestartsystemctl condrestart SERVICE_NAME如果服务已在运行,则重新启动
service SERVICE_NAME statussystemctl status SERVICE_NAME判断服务当前是否正在运行
chkconfig SERVICE_NAME onsystemctl enable SERVICE_NAME打开服务,以便在下次启动时启动,或其他触发器
chkconfig SERVICE_NAME offsystemctl disable SERVICE_NAME为下次重新启动或任何其他触发器关闭服务
chkconfig SERVICE_NAMEsystemctl is-enabled SERVICE_NAME用于检查服务是否配置为在当前环境中启动
chkconfig –listsystemctl list-unit-files –type=service (or)
ls /etc/systemd/system/*.wants/
打印一个服务表,列出每个配置的运行级别打开或关闭
chkconfig –list | grep 5:onsystemctl list-dependencies graphical.target打印启动到图形模式时将启动的服务表
chkconfig SERVICE_NAME –listls /etc/systemd/system/*.wants/SERVICE_NAME.service用于列出此服务配置为打开或关闭的级别
chkconfig SERVICE_NAME –addsystemctl daemon-reload在创建新服务文件或修改任何配置时使用

目标运行级别

SysVinitSystemd说明
0runlevel0.target, poweroff.target停止系统
1, s, singlerunlevel1.target, rescue.target单用户模式
2, 4runlevel2.target, runlevel4.target, multi-user.target用户定义/站点特定的运行级别。 默认情况下,与 3 相同
3runlevel3.target, multi-user.target多用户,非图形。 用户通常可以通过多个控制台或通过网络登录
5runlevel5.target, graphical.target多用户,图形。 通常具有运行级别 3 的所有服务以及图形登录
6runlevel6.target, reboot.target重启
emergencyemergency.target应急外壳

更改运行级别

SysVinitSystemd说明
telinit 3systemctl isolate multi-user.target
OR systemctl isolate runlevel3.target
OR telinit 3
更改为多用户运行级别
sed s/^id:.*:initdefault:/id:3:initdefault:/ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target设置为在下次重新启动时使用多用户运行级别

另见