ulimit – `lsof -p |之间有什么区别? wc -l`和`ls / proc // fd | wc -l`?

背景:我正在使用监视ulimit来运行特定用户的进程. (我偶尔会看到以不正确的限制开始的进程.)我问过几个自称为 Linux的大师,一个建议lsof -p< pid>,而另一个建议ls / proc /< pid> / fd,但是对于哪个更准确地反映了进程的最大打开文件限制的实际计数,两者都不是正面的.

那么,这是什么?

lsof -p <pid> | wc -l

要么

ls /proc/<pid>/fd | wc -l

请详细说明不同之处.谢谢!

解决方法

lsof还会为你提供内存映射的.so文件 – 这在技术上与应用程序可以控制的文件句柄不同. / proc /< pid> / fd是打开文件描述符的测量点 – 但是:在proc-man页面中提到 – 如果多线程程序的主线程已终止,则此目录将不可用.

lsof -p< pid> | grep -v mem | egrep -v’^ COMMAND PID’| wc -l将显示与ls / proc /< pid> / fd |相同的项目wc -l.

存储器映射在/ proc /< pid> / maps中可用.

相关文章

在Linux上编写运行C语言程序,经常会遇到程序崩溃、卡死等异...
git使用小结很多人可能和我一样,起初对git是一无所知的。我...
1. 操作系统环境、安装包准备 宿主机:Max OSX 10.10.5 虚拟...
因为业务系统需求,需要对web服务作nginx代理,在不断的尝试...
Linux模块机制浅析 Linux允许用户通过插入模块,实现干预内核...
一、Hadoop HA的Web页面访问 Hadoop开启HA后,会同时存在两个...