Linux系统如何查看服务的运行状态

1. 前言本文主要讲解如何在linux系统上查看服务的运行状态 。
Linux系统提供各种系统服务(如进程管理、登录服务、日志、计划任务等)和网络服务(如远程登录、电子邮件、打印机、web主机、数据存储、文件传输、域名解析(使用DNS)、动态IP地址分配(使用DHCP)等等) 。

Linux系统如何查看服务的运行状态

文章插图
Linux系统如何查看服务的运行状态
从技术上讲,服务是一个进程或一组进程(通常称为守护进程),在后台连续运行,等待请求(特别是来自客户机的请求) 。
Linux支持不同的方式来管理服务,比如启动、停止、重启、开机自启动等,大多数最新的Linux发行版在使用相同的进程管理器-systemd 。
systemd是Linux系统和服务管理器init进程的一个替代品,它与SysV和LSB init脚本兼容,systemctl命令是管理systemd的主要工具 。
systemd的组件
Linux系统如何查看服务的运行状态

文章插图
systemd的组件
在本教程中,我们将演示如何查看Linux系统中systemd可管理的所有服务 。
2. 如何查看Linux系统中systemd可管理的所有服务当您不带任何参数运行systemctl命令时,它将打印所有已加载的systemd单元的列表(请阅读systemd文档以获得有关systemd单元的更多信息) 。显示各服务单元的状态(无论是活动的还是非活动的) 。
systemctl
Linux系统如何查看服务的运行状态

文章插图
如何查看Linux系统中systemd可管理的所有服务
列出系统上所有已加载的服务,查看它们活动状态,是否正在运行、是否关闭、是否启动失败 。
【Linux系统如何查看服务的运行状态】systemctl list-units --type=service或者
systemctl --type=service
Linux系统如何查看服务的运行状态

文章插图
列出系统上所有已加载的服务,查看它们活动状态
要列出所有已加载但已经设置开机自启动的服务
systemctl list-units --type=service --state=activesystemctl --type=service --state=active
Linux系统如何查看服务的运行状态

文章插图
要列出所有已加载但已经设置开机自启动的服务
查看所有正在运行的服务:
systemctl list-units --type=service --state=runningsystemctl --type=service --state=running
Linux系统如何查看服务的运行状态

文章插图
查看所有正在运行的服务
如果经常使用前面的命令,可以在创建别名命令,编辑bashrc文件
vim ~/.bashrc添加以下内容,创建别名命令running_services 。
alias running_services='systemctl list-units  --type=service  --state=running'保存文件并退出 。使用running_services命令查看服务器上所有已加载、正在运行的服务的列表 。
running_services此外,服务的一个重要方面是它们使用的端口 。要确定守护进程监听的端口,可以使用netstat或ss工具,如下所示 。
其中-l选项表示打印所有监听的套接字,-t显示所有TCP连接,-u显示所有UDP连接,-n表示打印数字端口号(而不是应用程序名称),-p表示显示应用程序名称 。
netstat -ltup | grep sshd或者
ss -ltup | grep sshd第五列显示套接字:本地地址:端口 。在本例中,进程sshd正在端口22上监听 。
Linux系统如何查看服务的运行状态

文章插图
查看守护进程监听的端口
此外,如果您的服务器防火墙服务运行的状态,使用以下命令查看已经允许或者阻塞的端口或者服务
Linux系统如何查看服务的运行状态

文章插图
查看防火墙服务运行的状态
firewall-cmd --list-servicesfirewall-cmd --list-portsUbuntu 用户
sudo ufw status3. 总结在本教程中,我们演示了如何在Linux中查看systemd下运行的服务及这些服务的运行状态 。我们还介绍了如何检查服务正在监听的端口,以及如何查看在防火墙服务已经允许或者阻塞的服务和端口号 。
本文已同步至博客站,尊重原创,转载时请在正文中附带以下链接:https://www.linuxrumen.com/cyml/1798.html



推荐阅读