使用 systemd 检查服务状态
- systemd服务单元对应系统服务。
使用以下命令显示有关服务单元的详细信息。
此示例显示有关 ntpd.service 服务单元的信息。
如果需要,我们可以省略 .service 扩展名。
# systemctl status ntpd.service ● ntpd.service - Network Time Service Loaded: loaded (/usr/lib/systemd/system/ntpd.service; enabled; vendor preset: disabled) Active: active (running) since Sat 2017-08-26 15:01:55 IST; 2 months 20 days ago Main PID: 19984 (ntpd) CGroup: /system.slice/ntpd.service └─19984 /usr/sbin/ntpd -u ntp:ntp -g Warning: Journal has been rotated since unit was started. Log output is incomplete or unavailable.
以下信息可用于指定的服务单位:
- Loaded :如果服务被加载,服务单元文件的绝对路径,如果服务单元已启用
- Active :如果服务单元正在运行和时间戳
- Main PID : 对应系统服务的进程ID和服务名称
- Status:有关相应系统服务的添加信息
- Process:有关相关流程的添加信息
- CGroup :有关相关控制组的添加信息
如果命令由 root 用户执行,则会显示最新的日志条目。
我们将看到绿色(如果正在运行)或者红色(如果已停止)的服务状态 。
- 列出所有服务的状态:
# systemctl list-unit-files --type=service --all
例如 :
# systemctl list-unit-files --type=service UNIT FILE STATE abrt-ccpp.service enabled abrt-oops.service enabled abrt-pstoreoops.service disabled abrt-vmcore.service enabled abrt-xorg.service enabled
我们应该看到禁用模式下的服务以红色突出显示,启用模式下的服务以绿色突出显示,如下所示。
以前版本的 CentOS/RedHat Linux 使用位于 /etc/rc.d/init 目录中的 init 脚本来启动和停止服务。
在 CentOS/RHEL 7 中,这些 init 脚本已被 systemd 服务单元取代。
服务单元有一个 .service
扩展名。
使用 systemctl 命令如下列出所有加载的服务单元:
# systemctl list-units --type service --all UNIT LOAD ACTIVE SUB DESCRIPTION abrt-ccpp.service loaded inactive dead Install ABRT coredump hook abrt-oops.service loaded inactive dead ABRT kernel log watcher abrt-vmcore.service loaded inactive dead Harvest vmcores for ABRT abrt-xorg.service loaded inactive dead ABRT Xorg log watcher abrtd.service loaded inactive dead ABRT Automated Bug Reporting Tool
欢迎来到之路教程(on itroad-com)
检查服务状态的其他命令
使用以下命令检查服务是否正在运行(活动)或者未运行(非活动):
# systemctl is-active sshd active
使用以下命令检查服务是启用还是禁用:
# systemctl is-enabled sshd enabled
# systemctl is-enabled httpd disabled
日期:2020-09-17 00:12:27 来源:oir作者:oir