一般lsof 会输出以下这些信息:

  COMMAND: 进程的名称

  PID:进程标识符

  PPID:父进程标识符(需要指定-R参数)

  USER:进程所有者

  PGID:进程所属组

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

  TYPE:文件类型。如 DIR、REG等

  DEVICE:指定磁盘的名称

  SIZE:文件的大小

  NODE:索引节点(文件在磁盘上的标识)

  NAME:打开文件的确切名称

    

  这篇重点是讲一下FD文件描述符,因为在lsof 中这个内容占了很大的一个篇幅,我又一向崇尚精简,所以把它单独拿了出来学习。

  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

每天一个linux命令(38)--lsof 之FD文件描述符的更多相关文章

  1. 每天一个linux命令(38)--lsof命令

    lsof (list open files )是一个列出当前系统打开文件的工具,在Linux 环境下,任何事情都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件.所以如传输控 ...

  2. Linux的进程、线程、文件描述符是什么

    说到进程,恐怕面试中最常见的问题就是线程和进程的关系了,那么先说一下答案:在 Linux 系统中,进程和线程几乎没有区别. Linux 中的进程就是一个数据结构,看明白就可以理解文件描述符.重定向.管 ...

  3. N天学习一个linux命令之lsof

    用途 列出进程已打开的文件,文件可以是常规文件,特殊文件,目录,socket,设备,共享库等.如果不带参数,lsof显示所有进程打开的所有文件. 用法 lsof [ -?abChlnNOPRtUvVX ...

  4. Linux 文件描述符详解

    Overview 了解Linux怎样处理输入和输出是非常重要的.一旦我们了解其原理以后,我们就可以正确熟练地使用脚本把内容输出到正确的位置.同样我们也可以更好地理解输入重定向和输出重定向. Linux ...

  5. 【转载】每天一个Linux命令

    目  录 每天一个linux命令(1)  : ls 命令 每天一个linux命令(2)  : cd 命令 每天一个linux命令(3)  : pwd 命令 每天一个linux命令(4)  : mkdi ...

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

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

  7. Linux exec与文件描述符

    看到好几篇文章讲述exec都是一知半解,所以我尽量说的清楚明白一些.本文首先讲述Linux文件描述符,然后是exec,最后举例说明exec I/O重定向及其用法. 概念:exec命令用于调用并执行指令 ...

  8. [性能分析]linux文件描述符(转)

    1.什么是文件和文件描述符 Linux中文件可以分为4种:普通文件.目录文件.链接文件和设备文件.1.普通文件是用户日常使用最多的文件,包括文本文件.shell脚本.二进制的可执行和各种类型的数据.l ...

  9. Linux Shell 文件描述符 及 stdin stdout stderr 重定向

    Abstract: 1) Linux Shell 命令的标准输入.标准输出.标准错误,及其重定位: 2)Linux Shell 操作自定义文件描述符: 文件描述符是与文件相关联的一些整数,他们保持与已 ...

随机推荐

  1. 英文版Ubuntu安装配置搜狗拼音输入法

    下载搜狗输入法 1 进入搜狗输入法官网,进入上面导航兰的 "输入法Linux版"   2 根据你安装的ubuntu是32位还是64位下载 END ubuntu安装搜狗输入法 1 进 ...

  2. osx c++连接mysql

    最近想尝试一下使用c++连接mysql数据库.使用封装过后的mysql库mysql++访问mysql数据库更加简单,下述讲述的是如何在osx上搭建连接mysql的环境. 首先需要安装mysql++,感 ...

  3. 3.2. 添加模板版本(Core Data 应用程序实践指南)

    为了不像3.1那样崩溃,修改模型之前先创建新的模型版本.添加之后,会生成一个新的xcdatamodel文件,并且跟原来的内容完全一样,这有意思了,但是不要删除原来旧版的模型.旧的模型有助于把原来持久化 ...

  4. 简述Hibernate三种开发方式

    1.由domain object->mapping->db(官方推荐) 2.由db开始,用工具生成mapping和domain object(使用较多) 3.由映射文件开始

  5. js原生继承之——类式继承实例(推荐使用)

    <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8&qu ...

  6. HDU-1275-两车追及或相遇问题(数学题目)

    题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=1275 这题是一个数学题目,知道两个公式那就好办了: 对头相遇时:time*(v1+v2)=d*(2*i ...

  7. easelJS - Cache_vday

    easelJS - Cache_vday $(function() { init(); }); // Cache_vday var canvas; var stage; var container; ...

  8. 关于solaris中 crontab -e 出现数字0的解决办法

    解决方法: 通过网络,发现要设置编辑器的环境变量 $ EDITOR=vi  $ export EDITOR$ echo $EDITORvi$ crontab -e OK

  9. spring mvc 注解入门示例

    web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi=" ...

  10. There is no getter for property named 'userId' in 'class java.lang.String'

    [ERROR] 2017-01-18 04:37:06:231 cn.dataenergy.common.CenterHandlerExceptionResolver (CenterHandlerEx ...