top
本文目录
1. 使用systemctl命令(Systemd系统)
2. 通过service命令(SysVinit系统)
3. 检查服务启动配置
4. 结合进程监控工具
5. 自动化脚本示例
注意事项

如何快速检查Linux系统中所有服务的状态?

如何快速检查Linux系统中所有服务的状态?

1. 使用systemctl命令(Systemd系统)

对于基于Systemd的Linux发行版(如Ubuntu 16.04+、CentOS 7+),可通过以下命令列出所有服务状态:

systemctl list-units --type=service --all

过滤运行中的服务:

systemctl list-units --type=service --state=running

2. 通过service命令(SysVinit系统)

在传统SysVinit系统中,使用service --status-all显示所有服务状态:

service --status-all

结合管道符筛选结果:

service --status-all | grep -E '[ + ]'

3. 检查服务启动配置

使用chkconfig查看服务在不同运行级别的启用状态:

chkconfig --list

对于Systemd系统,查看服务是否开机启动:

systemctl list-unit-files --type=service | grep enabled

4. 结合进程监控工具

使用ps命令查看所有正在运行的进程:

ps aux | grep -E '^USER|systemd|init'

通过tophtop实时监控服务资源占用情况。

5. 自动化脚本示例

创建脚本批量检查服务状态(Systemd系统):

#!/bin/bash
for service in $(systemctl list-units --type=service --no-legend | awk '{print $1}')
do
    echo "检查服务: $service"
    systemctl status $service | grep -E 'Active:|Loaded:'
done

注意事项

  • 部分命令需要root权限,可使用sudo
  • 不同Linux发行版的服务管理工具可能不同
  • 建议结合日志分析(journalctl)进行深度排查

寰宇互联服务器4核4G云服务器1元/月,网络稳定、抗DDos、国际BGP、性能强劲,十年服务经验QQ:97295700 微信:huanidc

阅读剩余
THE END
icon
0
icon
打赏
icon
分享
icon
二维码
icon
海报