大多数现代Linux系统使用systemd,推荐用systemctl管理服务。2. 查看所有已加载服务:systemctl list-units --type=service。3. 仅查看运行中服务:systemctl list-units --type=service --state=running。4. 查看所有服务及开机状态:systemctl list-unit-files --type=service。5. 过滤开机自启服务:systemctl list-unit-files --type=service | grep enabled。6. 传统SysVinit系统可使用service --status-all查看服务状态。7. 查看特定服务状态可用systemctl status sshd或service ssh status。

在Linux中查看系统服务列表,主要取决于你使用的系统初始化方式,也就是SysVinit还是systemd。现在大多数现代Linux发行版(如Ubuntu 18.04+、CentOS 7+、Debian 9+)都使用systemd作为默认的初始化系统。以下是几种常用方法。
使用 systemctl 查看服务列表(systemd 系统)
如果你的系统使用 systemd,systemctl 是最常用的工具。
• 查看所有已加载的服务(包括运行中和未运行的):systemctl list-units --type=service
• 只查看正在运行的服务:systemctl list-units --type=service --state=running
• 查看所有服务(包括未激活的):systemctl list-unit-files --type=service
这个命令会显示每个服务的开机启动状态(enabled/disabled/static等)。
使用 service 命令查看(传统 SysVinit 或兼容模式)
在一些较老的系统或仍保留 SysVinit 脚本的系统中,可以使用 service 命令结合其他工具。
• 列出所有 SysV 服务的状态:service --status-all
注意:该命令在某些系统上可能只显示部分服务,特别是那些未使用传统 init 脚本的服务。
查看特定服务的状态
无论系统使用哪种机制,查看某个具体服务的状态都很实用。
systemctl status sshd
或
service ssh status
这能帮助你确认服务是否正在运行、是否设置为开机启动,以及最近的日志信息。
补充:查看开机自启服务
如果你想重点关注哪些服务会在系统启动时自动运行,可以使用:
systemctl list-unit-files --type=service | grep enabled
这条命令会过滤出所有被启用的(enabled)服务,即开机自启的服务。
基本上就这些。根据你的系统类型选择合适的方法,大多数情况下使用 systemctl 就足够了。










