如何查看linux服务器运行状态?

如何查看linux服务器运行状态?,第1张

1、ps aux 或netstat -tlunp

ps是进程查看命令,netstat是端口查看命令,在Linux系统中,服务一定是有进程的,所以使用ps命令可以查看服务运行情况,另外,Linux服务多数是网络服务,所以通过netstat命令也可以查看服务运行状态。

2、service 服务名 status

比如查看httpd的Web服务的运行状态,执行service httpd status,如下图所示:

3、/sbin/service --status-all |grep "服务名"

比如查看httpd的web服务,执行 /sbin/service --status-all |grep "httpd"即可。如下图所示。

4、chkconfig --list

比如查看httpd的web服务,执行 chkconfig --list |grep "httpd"即可。如下图所示。

1、查看Web服务器(Nginx Apache)的并发请求数及其TCP连接状态:

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}

netstat -n|grep ^tcp|awk '{print $NF}'|sort -nr|uniq -c

或者:

netstat -n | awk '/^tcp/ {++state[$NF]} END {for(key in state) print key,"t",state[key]}

返回结果一般如下:

LAST_ACK 5 (正在等待处理的请求数)

SYN_RECV 30

ESTABLISHED 1597 (正常数据传输状态)

FIN_WAIT1 51

FIN_WAIT2 504

TIME_WAIT 1057 (处理完毕,等待超时结束的请求数)

其他参数说明:

CLOSED:无连接是活动的或正在进行

LISTEN:服务器在等待进入呼叫

SYN_RECV:一个连接请求已经到达,等待确认

SYN_SENT:应用已经开始,打开一个连接

ESTABLISHED:正常数据传输状态

FIN_WAIT1:应用说它已经完成

FIN_WAIT2:另一边已同意释放

ITMED_WAIT:等待所有分组死掉

CLOSING:两边同时尝试关闭

TIME_WAIT:另一边已初始化一个释放

LAST_ACK:等待所有分组死掉

2、查看Nginx运行进程数

ps -ef | grep nginx | wc -l

返回的数字就是nginx的运行进程数,如果是apache则执行

ps -ef | grep httpd | wc -l

3、查看Web服务器进程连接数:

netstat -antp | grep 80 | grep ESTABLISHED -c

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

1. 前言

本文主要讲解如何在Linux系统上查看服务的运行状态。

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

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

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

Linux支持不同的方式来管理服务,比如启动、停止、重启、开机自启动等,大多数最新的Linux发行版在使用相同的进程管理器-systemd。

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

systemd的组件

systemd的组件

在本教程中,我们将演示如何查看Linux系统中systemd可管理的所有服务。

2. 如何查看Linux系统中systemd可管理的所有服务

当您不带任何参数运行systemctl命令时,它将打印所有已加载的systemd单元的列表(请阅读systemd文档以获得有关systemd单元的更多信息)。显示各服务单元的状态(无论是活动的还是非活动的)。

systemctl

如何查看Linux系统中systemd可管理的所有服务

列出系统上所有已加载的服务,查看它们活动状态,是否正在运行、是否关闭、是否启动失败。

systemctl list-units --type=service

或者

systemctl --type=service

列出系统上所有已加载的服务,查看它们活动状态

要列出所有已加载但已经设置开机自启动的服务

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

systemctl --type=service --state=active

要列出所有已加载但已经设置开机自启动的服务

查看所有正在运行的服务:

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

systemctl --type=service --state=running

查看所有正在运行的服务

如果经常使用前面的命令,可以在创建别名命令,编辑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上监听。

查看守护进程监听的端口

此外,如果您的服务器防火墙服务运行的状态,使用以下命令查看已经允许或者阻塞的端口或者服务

查看防火墙服务运行的状态

firewall-cmd --list-services

firewall-cmd --list-ports

Ubuntu 用户

sudo ufw status

3. 总结

在本教程中,我们演示了如何在Linux中查看systemd下运行的服务及这些服务的运行状态。我们还介绍了如何检查服务正在监听的端口,以及如何查看在防火墙服务已经允许或者阻塞的服务和端口号。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/416314.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-24
下一篇2023-05-24

发表评论

登录后才能评论

评论列表(0条)

    保存