背景:我正在使用监视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中可用.