当前位置: 首页 > 科技观察

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

时间:2023-03-21 00:09:54 科技观察

1.前言本文主要介绍如何在Linux系统上查看服务的运行状态。Linux系统提供各种系统服务(如进程管理、登录服务、日志、计划任务等)和网络服务(如远程登录、电子邮件、打印机、虚拟主机、数据存储、文件传输、域名解析等)使用DNS)、动态IP地址分配(使用DHCP等)。从技术上讲,服务是一个进程或一组进程(通常称为守护进程),它在后台持续运行,等待请求(尤其是来自客户端的请求)。Linux支持不同的服务管理方式,如启动、停止、重启、开机自启动等,大多数最新的Linux发行版都使用同一个进程管理器——systemd,systemd是Linux系统和服务管理器init进程的替代品.兼容SysV和LSBinit脚本systemctl命令是管理systemd的主要工具systemd的组件:在本教程中,我们将演示如何在Linux系统上查看systemd可以管理的所有服务。2.如何查看systemd可以在Linux系统中管理的所有服务当您运行不带任何参数的systemctl命令时,它将打印所有加载的systemd单元的列表(阅读systemd文档以获取有关systemd单元的更多信息)。显示每个服务单元的状态(无论是活动的还是非活动的)。systemctl列出系统上所有已加载的服务,以查看它们的活动状态,是否正在运行、是否已关闭或是否启动失败。systemctllist-units--type=service或systemctl--type=service列出所有加载但自启动的服务systemctllist-units--type=service--state=activesystemctl--type=service--state=active查看所有运行services:systemctllist-units--type=service--state=runningsystemctl--type=service--state=running如果经常使用前面的命令,可以创建别名命令,编辑bashrc文件vim~/.bashrc添加以下内容以创建别名命令running_services。aliasrunning_services='systemctllist-units--type=service--state=running'保存文件并退出。使用running_services命令查看服务器上所有已加载、正在运行的服务的列表。ss-ltup|grepsshdrunning_services此外,服务的一个重要方面是它们使用的端口。要确定守护程序正在侦听的端口,您可以使用netstat或ss工具,如下所示。其中,-l选项表示打印所有监听的套接字,-t表示显示所有TCP连接,-u表示显示所有UDP连接,-n表示打印数字端口号(而不是应用程序名称),-p表示显示应用程序名称。netstat-ltup|grepsshd或ss-ltup|grepsshd的第五列显示socket:localaddress:port。在本例中,进程sshd监听22端口。另外,如果你的服务器防火墙服务正在运行,使用以下命令查看允许或阻止的端口或服务firewall-cmd--list-servicesfirewall-cmd--list-portsUbuntu用户sudoufwstatus3。总结在本教程中,我们将演示如何查看systemd下运行的服务以及这些服务在Linux中的运行状态。我们还介绍了如何检查服务正在侦听的端口,以及如何查看防火墙服务允许或阻止的服务和端口号。