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的主要内容,如果未能解决你的问题,请参考以下文章