linux查看运行的服务

以下是运行服务的一些技巧:
服务命令最直接:statusall|greprunning initctl 适用于旧系统:list Systemctl是新系统必备:listunitstype=servicestate=running
如何选择?这取决于您为 Linux 系统使用的管理器。

如何在 Linux 中列出 Systemd 下所有正在运行的服务

简单地说,验证 Linux systemd 服务的状态只需三个步骤:使用 systemctl list-units --type=service --state=active ,为方便起见添加 bash 别名,然后根据防火墙规则验证端口。

首先我们来谈谈最重要的 list-units 命令。
去年,当我们运行那个金融项目时,系统在半夜突然崩溃,我们发现一些木材服务卡住了。
只需使用此命令和参数 --state=failed 即可。
3 秒内发现问题。
只需使用systemctl restart命令重新启动即可。
还有一点是Systemd有几十种单元状态,但我们通常关注的是Active、Inactive、Reloading和Failed。
特别是,活动状态,后面跟着“运行”或“退出”(超时)字样,实际上是在运行。
还有另一个重要的细节。
例如,systemctl status sshd 命令显示更详细的日志。
去年我们检查安全事件时,就是在这里发现了 rootkit。

一开始我以为systemctl和journalctl是两个不同的东西,后来发现我错了。
Journalctl -u sshd 实际上是在查看 ssh 服务的系统日志。
我跑题了……还有一件事。
Systemctl --failed 可以直接列出所有失败的服务,但要谨慎使用--all。
去年,一个测试环境结果列出了数百个无用服务,导致电脑长时间卡住。

建议将别名 run_services='systemctl list-units --type=service --state=active' 添加到 ~/.bashrc 中,然后直接运行该别名。