每天一个linux命令(38)--lsof 之FD文件描述符

  一般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

时间: 2024-12-25 15:55:16

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

嵌入式 Linux系统编程(二)——文件描述符控制函数fcntl

嵌入式 Linux系统编程(二)--文件描述符控制函数fcntl 由于fcntl函数实在过于灵活和复杂,本文将fcntl函数从文件IO中单独列出来,便于详细解读.函数原型如下: #include <unistd.h> #include <fcntl.h> int fcntl(int fd, int cmd, ... /* arg */ ); fcntl函数用于控制操作文件描述符fd,对文件描述符的控制操作由cmd控制命令来控制,arg参数为可选参数,是否需要arg参数取决于控制命令

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

转自:http://www.cnblogs.com/Jezze/archive/2011/12/23/2299861.html 简单归纳:fd只是一个整数,在open时产生.起到一个索引的作用,进程通过PCB中的文件描述符表找到该fd所指向的文件指针filp. open:文件描述符的操作(如: open)返回的是一个文件描述符(int fd),内核会在每个进程空间中维护一个文件描述符表, 所有打开的文件都将通过此表中的文件描述符来引用(fd1,fd2,fd3...); fopen:而流(如: f

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

1.什么是文件和文件描述符 Linux中文件可以分为4种:普通文件.目录文件.链接文件和设备文件.1.普通文件是用户日常使用最多的文件,包括文本文件.shell脚本.二进制的可执行和各种类型的数据.ls -lh 来查看某个文件的属性,可以看到有类似 -rw-r--r-- ,值得注意的是第一个符号是 - ,这样的文件在Linux中就是普通文件.这些文件一般是用一些相关的应用程序创建,比如图像工具.文档工具.归档工具... .... 或 cp工具等.这类文件的删除方式是用rm 命令:2.目录文件在l

[性能分析]linux文件描述符

1.什么是文件和文件描述符 Linux中文件可以分为4种:普通文件.目录文件.链接文件和设备文件.1.普通文件是用户日常使用最多的文件,包括文本文件.shell脚本.二进制的可执行和各种类型的数据.ls -lh 来查看某个文件的属性,可以看到有类似 -rw-r--r-- ,值得注意的是第一个符号是 - ,这样的文件在Linux中就是普通文件.这些文件一般是用一些相关的应用程序创建,比如图像工具.文档工具.归档工具... .... 或 cp工具等.这类文件的删除方式是用rm 命令:2.目录文件在l

Linux下利用文件描述符恢复的成功失败实验

1.测试环境准备[[email protected] ~]$ uname -aLinux redhat3 2.6.32-573.el6.x86_64 #1 SMP Wed Jul 1 18:23:37 EDT 2015 x86_64 x86_64 x86_64 GNU/Linux[[email protected] ~]$ sqlplus / as sysdbaset pagesize 999 SQL*Plus: Release 11.2.0.4.0 Production on Fri Mar

[转帖]linux文件描述符文件/etc/security/limits.conf

linux文件描述符文件/etc/security/limits.conf https://blog.csdn.net/fanren224/article/details/79971359 需要多学习了解一下. 文件描述符是什么?和文件句柄有啥区别? 文件描述符是linux/unix操作系统中特有的概念.相当于windows系统中的文件句柄.一个意思不同叫法. Linux系统中, 每当进程打开一个文件时,系统就为其分配一个唯一的整型文件描述符,用来标识这个文件.标准C中每个进程默认打开的有三个文

【转】每天一个linux命令(51):lsof命令

原文网址:http://www.cnblogs.com/peida/archive/2013/02/26/2932972.html lsof(list open files)是一个列出当前系统打开文件的工具.在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件.所以如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,无论这个文件的本质如何,该文件描述符为应用程序与基础操作系统之间的交

每天一个linux命令(43):lsof命令

lsof(list open files) 是一个列出当前系统打开文件的工具.在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件.所以 如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,无论这个文件的本质如何,该文件 描述符为应用程序与基础操作系统之间的交互提供了通用接口.因为应用程序打开文件的描述符列表提供了大量关于这个应用程序本身的信息,因此通过lsof工 具能够查看这个列表

每天一个Linux命令(45)lsof命令

    lsof命令用于查看你进程打开的文件,端口(TCP.UDP),找回/恢复删除的文件,打开文件的进程.     (1)用法:     用法:  lsof  [参数]  [文件]     (2)功能:     功能:  lsof 命令可显示系统打开的文件.(因为 lsof 需要访问核心内存和各种文件,所以必须以 root 用户的身份运行它才能够充分地发挥其功能.) 在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件.所以如传输控制协议 (