Linux查看系统所有运行进程,如何在Linux系统列出systemd下所有正在运行的服务

Linux系统提供各种系统服务(如进程管理、登录、syslog、cron等)和网络服务(如远程登录、电子邮件、打印机、Web主机、数据存储、文件传输、域名解析(使用DNS)、动态IP地址分配(使用DHCP)等等)。

从技术上讲,服务是一个或一组进程(通常称为守护进程)在后台连续运行,等待请求(特别是来自客户机的请求)。

Linux支持不同的方法来管理服务(启动、停止、重启、在系统启动时的自动启动等),通常通过流程或服务管理器。 大多数现代Linux发行版现在使用相同的进程管理器:systemd。

Systemd是Linux的系统和服务管理器; init进程的替代品,与SysV和LSB init脚本兼容,systemctl命令是管理systemd的主要工具。

在本指南中,我们将演示如何在Linux下列出systemd下所有正在运行的服务。

在Linux SystemD下列出正在运行的服务

当您运行没有任何参数的systemctl命令时,它将显示所有已加载的systemd单元(有关systemd单元的更多信息,请阅读systemd文档)的列表,包括服务,并显示它们的状态(是否处于活动状态)。

# systemctl

4e2fee032acb5b82ac3a4ed5bb48020d.png

要列出系统上所有已加载的服务(无论是活动的,运行的,退出的还是失败的,请使用 list-units子命令和--type开关,其值为service。

# systemctl list-units --type=service

或者

# systemctl --type=service

8970b3569e92d4a624710edc24cb064d.png

要列出所有已加载但处于活动状态的服务,包括正在运行的服务和已退出的服务,可以添加--state选项,其值为active,如下所示。

# systemctl list-units --type=service --state=active

或者

# systemctl --type=service --state=active

9f94cec6bb949c4124575b10cd7dc249.png

如果要快速浏览所有正在运行的服务(即所有已加载和正在运行的服务),请运行以下命令。

# systemctl list-units --type=service --state=running

或者

# systemctl --type=service --state=running

84aa5cae23d53bbea36b7350dd272754.png

如果经常使用上一个命令,可以在~/.bashrc文件中创建一个别名命令,如图所示,以便轻松调用它。

# vim ~/.bashrc

然后在别名列表下添加以下行,如屏幕截图所示。

alias running_services='systemctl list-units  --type=service  --state=running'

7e7db4667bd6a7308ac80b7563407c27.png

将更改保存在文件中并关闭它。 从现在开始,使用“running_services”命令查看服务器上所有已加载,正在运行的服务的列表。

# running_services #使用Tab完成

e9eafd599e6e740658809ff498ee8ba4.png

此外,服务的一个重要方面是他们使用的端口。 要确定守护程序进程正在侦听的端口,可以使用netstat或ss工具,如图所示。

其中标志-l表示打印所有侦听套接字,-t显示所有TCP连接,-u表示所有UDP连接,-n表示打印数字端口号(而不是应用程序名称),-p表示显示应用程序名称。

# netstat -ltup | grep MySQLd.service

或者

# ss -ltup | grep zabbix_agentd

第五列显示套接字:本地地址:端口。 在这种情况下,进程zabbix_agentd正在侦听端口10050。

此外,如果您的服务器运行防火墙服务,该服务控制如何阻止或允许来自或来自所选服务或端口的流量,您可以使用firewall-cmd或ufw命令列出已在防火墙中打开的服务或端口( 取决于您正在使用的Linux发行版),如下所示。

# firewall-cmd --list-services  [FirewallD]

# firewall-cmd --list-ports

$ sudo ufw status    [UFW Firewall]

总结

目前为止就这样了! 在本指南中,我们演示了如何在Linux下查看systemd下的运行服务。 我们还介绍了如何检查服务正在侦听的端口以及如何查看在系统防火墙中打开的服务或端口。 你有任何补充或提问吗? 如果有,请使用下面的评论表联系我们。

0b1331709591d260c1c78e86d0c51c18.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值