一般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. iOS 之 手势

    手势操作,有一个总的抽象类UIGestureRecognizer,用于检测设备的所有手势.其下有多个子类: 拍击UITapGestureRecognizer (任意次数的拍击) 向里或向外捏UIPin ...

  2. ExcelUtil

    package cn.com.jansh.core.util; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi ...

  3. Reactive 手机网络状态

    RAC([UIApplication sharedApplication], networkActivityIndicatorVisible)

  4. MVC 与 MVVM

    MVC View直接访问Model,View包含Model信息,包括业务逻辑. MVC模型里Model不变,Model不依赖于View,但是 View依赖于Model.因为View实现了一些业务逻辑, ...

  5. linux环境下Vim的配置

    原文链接:http://blog.chinaunix.net/uid-26826958-id-3272375.html  (本文转自此链接中的部分内容,但做了适当修改) 安装vim命令:sudo ap ...

  6. Spring mvc基本原理

    http://blog.csdn.net/xtu_xiaoxin/article/details/8796499 http://www.cnblogs.com/wawlian/archive/2012 ...

  7. jQuery attr removeAttr 属性操作

    jQuery attr removeAttr 属性操作 <%@ page language="java" import="java.util.*" pag ...

  8. iis的web站点配置

    1.下载好pageadmin网站系统,我下载的放在F:\web\site目录下(每个电脑或每个用户放置目录都不一样,你也可以放C:\myweb,或D:\xxx等等,只要下面对应目录设置一样即可),我们 ...

  9. Web前端常用快捷键总结(OS X系统)

    OS X系统截图:command + shift + 4 强制关闭OS X系统内无响应的程序:command + option +ESC Sublime Text 3: 显示或隐藏Side Bar:c ...

  10. page cache 与free

    我们经常用free查看服务器的内存使用情况,而free中的输出却有些让人困惑,如下: 先看看各个数字的意义以及如何计算得到: free命令输出的第二行(Mem):这行分别显示了物理内存的总量(tota ...