在Linux中,有几种常用的命令可以用来查看当前正在运行的服务以及它们的状态。这里是一些最常用的方法:
1. 使用 `systemctl`(适用Systemd系统):
`systemctl` 是控制 systemd 系统和服务管理器的一个工具。
要查看所有启动的目标或运行等级:
bash
systemctl getdefault
要列出所有服务及它们是否开启开机自启:
bash
systemctl listunitfiles | grep enabled
要查看某个具体服务是否开启启动,以及它的状态,例如`apache2`服务,可以使用以下命令:
bash
systemctl status apache2
如果你想知道哪些服务正在运行:
bash
systemctl type=service
或者过滤特定类型的服务:
bash
systemctl listunits type=service
2. 使用 `service`(传统方式,不是所有发行版都有,且逐渐被 `systemctl` 取代)
服务检查:
bash
service ssh status
列出服务(这个方法不太常见直接用于列表所有运行中的服务):
bash
service statusall
注:这种方法对于现代 SystemD 基于发行版可能不工作。
3. 使用其他高级查询(如果需要脚本或更精细控制)
如你想要写一个脚本来处理这些数据,可以利用像 `grep`, `awk`, `cut` 等工具结合上述的某些基础命令进行解析和提取需要的数据。比如:
bash
systemctl listunits type=service | grep running
这样的组合允许非常精细的控制你的信息筛选。
注意根据不同的 Linux 分布和系统版本,上面列出的功能和语法可能会有所不同,请根据自己所处的具体环境进行相应的操作。对于基于 Systemd 的系统而言,优先使用 `systemctl` 进行系统管理。
发表评论