使用sudo lsof -nP -iTCP -sTCP:LISTEN查看占用端口的程序;因为 lsof 需要访问核心内存和各种文件,所以必须以 root 用户的身份运行它才能够充分地发挥其功能

概念

文件句柄是windows系统的概念,在linux下称之为文件描述符FD(file description)

常用命令

sort -nr 安装数字逆序排列 -n number -r reverse

uniq -c 统计相同项的数量,分两列显示,左列显示数量,右列显示内容 -c count

1)统计各进程打开FD数:lsof -n|awk '{print $2}'|sort|uniq -c|sort -nr

2)统计各用户打开FD数:lsof -n|awk '{print $3}'|sort|uniq -c|sort -nr

3)统计各命令打开FD数:lsof -n|awk '{print $1}'|sort|uniq -c|sort -nr

单个进程的可用文件描述符的最大数量

ulimit -n
ulimit -a

强大的工具 lsof

man lsof

可以查看fd/type等各个字段的含义

FD:文件描述符,应用程序通过文件描述符识别该文件

1)cwd:表示 current  work dirctory,即:应用程序的当前工作目录,这是该应用程序启动的目录,除非它本身对这个目录进行更改

2)txt:该类型的文件是程序代码,如应用程序二进制文件本身或共享库,如上列表中显示的 /sbin/init  程序

3)lnn: library references (AIX)

4)er:  FD  information  error (see  NAME  column)

5)jld:  jail  directory(FreeBSD)

6)ltx: shared  library text(code and  data)

7)mxx: hex  memory-mapped  type number  xx.

8)m86:DOS  Merge  mapped  file

9) mem: memory-mapped  file 

10)mmap: memory-mapped device

11)pd: parent  directory

12)rtd: root  directory

13)tr: kernel  trace file (OpenBSD)

14)v86  VP/ix  mapped  file

15)0:表示标准输出

16)1:表示标准输入

17)2:表示标准错误

一般在标准输出、标准错误、标准输入后还跟着文件状态模式:r/w/u 等

1)u:表示该文件被打开并处于读取/写入模式

2)r:表示该文件被打开并处于只读模式

3)w:表示该文件被打开并处于只写入模式

4)空格:表示该文件的状态模式为 unknown ,且没有锁定

5)- : 表示该文件的状态模式为 unknown ,且被锁定

同时在文件状态模式后面,还跟着相关的锁

1)N:for  a  Solaris NFS lock of  unknown  type

2)r: for  a   read  lock on part  of the file 

3)R:for a read  lock on the entire  file 

4)w: for a write lock on part of the file (文件的部分写锁)

5)W: for  a write  lock on the entire file(整个文件的写锁)

6)u: for  a read and write lock of any length

7)U: for a  lock of unknown type

8)x: for an  SCO  OpenServer  Xenix  lock on part of the file 

9)X:for an SCO OpentServer Xenix  lock on the entire  file

10)space : if there is no  lock

文件描述符FD的含义/文件句柄的更多相关文章

  1. 【详解】Linux的文件描述符fd与文件指针FILE*互相转换

    使用系统调用的时候用文件描述符(file descriptor,简称fd)的时候比较多,但是操作比较原始.C库函数在I/O上提供了一些方便的包装(比如格式化I/O.重定向),但是对细节的控制不够. 如 ...

  2. 进程间传递文件描述符fd

    众所周知,子进程会继承父进程已经打开的文件描述符fd,但是fork之后的是不会被继承的,这个时候是否无能无力了?答应是NO.Linux提供了一个系统调用sendmsg,借助它,可以实现进程间传递文件描 ...

  3. [转]文件IO详解(二)---文件描述符(fd)和inode号的关系

    原文:https://www.cnblogs.com/frank-yxs/p/5925563.html 文件IO详解(二)---文件描述符(fd)和inode号的关系 ---------------- ...

  4. 文件描述符fd

    java 后台运行程序命令 nohup java -jar babyshark-0.0.1-SNAPSHOT.jar > log.file 2>&1 & 命令解释:后台启动 ...

  5. Linux中文件描述符fd和文件指针flip的理解

    转自:http://www.cnblogs.com/Jezze/archive/2011/12/23/2299861.html 简单归纳:fd只是一个整数,在open时产生.起到一个索引的作用,进程通 ...

  6. [转载] linux中文件描述符fd和文件指针flip的理解

    转载自http://www.cnblogs.com/Jezze/archive/2011/12/23/2299861.html 简单归纳:fd只是一个整数,在open时产生.起到一个索引的作用,进程通 ...

  7. 文件描述符fd、文件指针fp和vfork()

    1. fd:在形式上是一个非负整数.实际上他是一个索引值.指向kernal为每一个进程所维护的该进程打开文件的记录表. 当程序打开一个文件或者创建一个新文件的时候kernal向进程返回一个文件描述符. ...

  8. linux文件描述符fd(windows下的句柄)

    在Linux系统中一切皆可以看成是文件,文件又可分为:普通文件.目录文件.链接文件和设备文件 fd:file descriptor 文件描述符0,1,2分别给了标准输入.标准输出和错误输出. ls - ...

  9. 文件描述符fd,struct files_struct

    程序可以理解为硬盘上的普通二进制文件:进程是加载到内存中的二进制文件,除了加载到内存中的二进制文件外,还附有所有对于该二进制文件描述信息的结构体,描述该进程的结构体叫PCB(进程控制块),在这就不在讨 ...

随机推荐

  1. mage Ansible学习3 ansible role实例

    一.ansible配置文件解析 1./etc/ansible/ansible.cfg配置文件详解 [root@node3 ~]# cat /etc/ansible/ansible.cfg |grep ...

  2. php之大文件断点续传

    前段时间做视频上传业务,通过网页上传视频到服务器. 视频大小 小则几十M,大则 1G+,以一般的HTTP请求发送数据的方式的话,会遇到的问题:1,文件过大,超出服务端的请求大小限制:2,请求时间过长, ...

  3. 关于连接sftp以及本地配置sftp的事情

    1.window下配置sftp服务器 参考:https://blog.csdn.net/zhangliang_571/article/details/45598939 下载:http://www.fr ...

  4. GO语言html模板

    模板 一个模板是一个字符串或一个文件,里面包含了一个或多个由双花括号包含的{{action}}对象.大部分的字符串只是按面值打印,但是对于actions部分将触发其它的行为.每个actions都包含了 ...

  5. 单一职责原则(SRP)

    内聚性:一个模块的组成元素之间的功能相关性.就一个类而言,应该仅有一个引起它变化的原因.当需求变化时,该变化会反映为类的职责的变化,如果一个类承担了多于一个的职责,那么引起它变化的原因就会有多个.如果 ...

  6. 生产者消费者模型Java实现

    生产者消费者模型 生产者消费者模型可以描述为: ①生产者持续生产,直到仓库放满产品,则停止生产进入等待状态:仓库不满后继续生产: ②消费者持续消费,直到仓库空,则停止消费进入等待状态:仓库不空后,继续 ...

  7. ubuntu之路——day2

    一:sougou输入法安装 详情参考:https://blog.csdn.net/xin17863935225/article/details/82285177 注意切换成fcitx架构 因为linu ...

  8. [spring-boot] 健康状况监控

    pom文件 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>s ...

  9. 【转】Python 深入浅出 - PyPDF2 处理 PDF 文件

    实际应用中,可能会涉及处理 pdf 文件,PyPDF2 就是这样一个库,使用它可以轻松的处理 pdf 文件,它提供了读,割,合并,文件转换等多种操作. 文档地址:http://pythonhosted ...

  10. linux: E: Could not get lock /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)

    今天在使用ubuntu执行下列指令的时候出现了错误: sudo apt-get update 解决办法: 输入以下命令: sudo rm /var/cache/apt/archives/lock su ...