我知道我可以使用这个命令
lsof -p xxxx | wc -l
要知道一个进程打开文件的数量,它的工作原理,但是,它是太低效率。 我有一些服务器进程有太多的套接字文件,wc -l方法永远不会返回结果。 那么,知道一个进程打开多less文件的有效方法是什么?
谢谢。
有一个用于打开文件的proc界面:/ proc / PID / fd /。 它是符号链接的目录。 任何打开的套接字将显示为链接到名为“socket:[INODE NUMBER]”的文件
使用ps -C <progname> -o pid= | wc -l ps -C <progname> -o pid= | wc -l其中progname是ps列表中进程的名称。
一些上下文(用例场景)可以为答案提供更好的方向。
lsof的文档描述了它所调用的几个方法,可能会阻塞不必要的时间量。 我会build议浏览lsof手册页的BLOCKS AND TIMEOUTS部分。
您可以尝试以下方法,看看是否提供了理想的结果:
lsof -bwp $pid | wc -l