LINUX中如何查看某个进程打开的网络链接有多少?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LINUX中如何查看某个进程打开的网络链接有多少?相关的知识,希望对你有一定的参考价值。

使用lsof命令,比如查看sshd这个程序的网络连接使用命令

root@debian:~# lsof -i | grep ^sshd
sshd        619        root    3u  IPv4  19587      0t0  TCP *:ssh (LISTEN)
sshd        619        root    4u  IPv6  19589      0t0  TCP *:ssh (LISTEN)
sshd        950        root    3u  IPv4  21717      0t0  TCP 192.168.71.128:ssh->172.30.0.130:9475 (ESTABLISHED)
sshd      52010        root    3u  IPv4 126392      0t0  TCP 192.168.71.128:ssh->172.30.0.130:2048 (ESTABLISHED)
sshd      53918        root    3u  IPv4 142664      0t0  TCP 192.168.71.128:ssh->172.30.0.130:50752 (ESTABLISHED)

参考技术A netstat命令即可.

参考资料:http://mktime.tk

Linux下查看某个进程创建了多少线程

$ ps -mp <PID>
例如查看mysqld进程中的线程
$ ps aux | grep mysqld

mysql 3496 0.7 51.7 4249652 2089140 ? Sl Dec05 10:42 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/data --plugin-dir=/usr/lib64/mysql/plugin --user=mysql --log-error=/var/lib/data/gk-compiler.err --pid-file=/var/lib/data/gk-compiler.pid --socket=/var/lib/mysql/mysql.sock --port=3306
从输出结果可看出mysqld的PID是3496,继续执行如下命令
$ ps -mp 3496
PID TTY TIME CMD
3496 ? 00:10:42 mysqld
- - 00:00:00 -
- - 00:00:00 -
- - 00:00:00 -
- - 00:00:00 -
- - 00:00:00 -
- - 00:00:00 -
- - 00:00:00 -
- - 00:00:00 -
- - 00:00:00 -
- - 00:00:00 -
- - 00:00:00 -
- - 00:00:00 -
- - 00:00:00 -
- - 00:00:00 -
- - 00:00:33 -
- - 00:00:00 -
- - 00:02:18 -
- - 00:01:42 -
- - 00:02:09 -
- - 00:01:48 -
- - 00:02:05 -
输出的信息中“3496 ? 00:10:42 mysqld”这一行下面的都是该进程内的线程
参考技术A 1。 使用top命令,具体用法是 top -H 加上这个选项,top的每一行就不是显示一个进程,而是一个线程。 2。 使用ps命令,具体用法是 ps -xH 这样可以查看所有存在的线程,也可以使用grep作进一步的过滤。 3。 使用ps命令,具体用法是 ps -mq PID ...

以上是关于LINUX中如何查看某个进程打开的网络链接有多少?的主要内容,如果未能解决你的问题,请参考以下文章

Linux查看进程打开多少文件描述符命令

Linux下如何查看进程打开的文件以及修改进程打开文件数上限

如何查看一个进程中已经打开的文件描述符

linux下面怎么查询某个进程正在使用的socket句柄数量

一次linux应急处置小方案

如何在Linux系统中,查看某个进程中线程占用cpu或内存等信息