linux如何查看某个进程的文件描述符(查看文件描述符查看描述符)(文件描述符socket描述符不断递增不断增加问题排查)ls -l /proc/[pid]/fd

Posted Dontla

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux如何查看某个进程的文件描述符(查看文件描述符查看描述符)(文件描述符socket描述符不断递增不断增加问题排查)ls -l /proc/[pid]/fd相关的知识,希望对你有一定的参考价值。

查看进程文件描述符命令:ls -l /proc/[pid]/fd
如:ls -l /proc/5732/fd

文章目录

问题

如图,可以看到我的程序运行是,每次连接的socket_fd是不断增加的,但是我在新建下一个之前确实是把上一个先close掉的

解决方法:查看进程的文件描述符

ps找到进程号,比如我的是5767

然后ls -l /proc/5767/fd,就能看到了

我们可以看到,并且大致猜测到,socket_fd不断增加的原因是,我们每次新创建socket_fd之前,都会打开/heop/package/ky_ai/ky_ai_api.cfg这个文件,并且最后都没有关闭这个文件,才导致新创建的socket_fd序号会不断增加

查看代码,果然是没有关闭文件:

我们在后面加上就好了

参考文章:LINUX 根据进程号查看进程打开的所有文件描述符

以上是关于linux如何查看某个进程的文件描述符(查看文件描述符查看描述符)(文件描述符socket描述符不断递增不断增加问题排查)ls -l /proc/[pid]/fd的主要内容,如果未能解决你的问题,请参考以下文章

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

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

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

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

linux中如何查看某个文件被哪些进程占用

linux每日命令(39):lsof命令