大佬教程收集整理的这篇文章主要介绍了lsof命令,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
CentOS6中lsof版本默认为4.82
CentOS7中lsof版本默认为4.87
上述两个版本差异见下图:
由上图可知,如果在CentOS7中用lsof | wc -l
命令来计算Open File Discriptor的总数,那么Open File Discriptor的总数会明显偏大 !!!
所以为了避免上述问题,建议使用如下命令来查看FD:
统计System Open File Discriptor的总数
cat /proc/sys/fs/file-nr | awk '{print $1-$2}'
统计The Process Open File Discriptor的总数
ls -l /proc/<pid>/fd | wc -l
查看哪些进程使用的FD较多
执行pnofile.sh脚本:
for pid_path in $(ls -d /proc/[0-9]*) do pid=$(echo ${pid_path} | awk -F'/' '{print $3}') pnofile=$(ls ${pid_path}/fd | wc -l) echo "${pid_path} ${pnofile}" >> /tmp/stdout done cat /tmp/stdout | awk '{print $2,$1}' | sort -rn rm -rf /tmp/stdout
下面我使用版本为4.87的lsof来演示用法:
lsof
lsof -u root
lsof -i TCP:22
lsof -i TCP:1-1024
lsof -i -u ^root
lsof -p 1
kill -9 $(lsof -t -u zak)
接下来,我们做个实验:
# 1 echo "hello" > /tmp/test # 2 less /tmp/test # 此时,在另外一个终端,Jhon执行了删除该文件的操作 # 3 rm /tmp/test
@H_434_301@
以上是大佬教程为你收集整理的lsof命令全部内容,希望文章能够帮你解决lsof命令所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。