Skip to content

Commit

Permalink
Update lsof.md
Browse files Browse the repository at this point in the history
  • Loading branch information
jaywcjlove authored Oct 29, 2022
1 parent f682765 commit 656e0a0
Showing 1 changed file with 64 additions and 53 deletions.
117 changes: 64 additions & 53 deletions command/lsof.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,69 +64,80 @@ events/0 6 root txt unknown /proc
events/1 7 root cwd DIR 8,2 4096 2 /
```

**lsof输出各列信息的意义如下:**
**lsof输出各列信息的意义如下:**

* COMMAND:进程的名称
* PID:进程标识符
* PPID:父进程标识符(需要指定-R参数)
* USER:进程所有者
* PGID:进程所属组
* FD:文件描述符,应用程序通过文件描述符识别该文件。
标识 | 说明
:- | :-
`COMMAND` | 进程的名称
`PID` | 进程标识符
`PPID` | 父进程标识符(需要指定-R参数)
`USER` | 进程所有者
`PGID` | 进程所属组
`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:表示标准错误
标识 | 说明
:- | :-
`cwd` | 表示当前工作目录,即:应用程序的当前工作目录,这是该应用程序启动的目录,除非它本身对这个目录进行更改
`txt` | 该类型的文件是程序代码,如应用程序二进制文件本身或共享库,如上列表中显示的 /sbin/init 程序
`lnn` | 库引用 (AIX);
`er` | FD 信息错误(参见名称栏)
`jld` | jail 目录 (FreeBSD);
`ltx` | 共享库文本(代码和数据)
`mxx` | 十六进制内存映射类型编号xx
`m86` | DOS合并映射文件
`mem` | 内存映射文件
`mmap` | 内存映射设备
`pd` | 父目录
`rtd` | 根目录
`tr` | 内核跟踪文件 (OpenBSD)
`v86` | VP/ix 映射文件
`0` | 表示标准输出
`1` | 表示标准输入
`2` | 表示标准错误

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

1. u:表示该文件被打开并处于读取/写入模式。
2. r:表示该文件被打开并处于只读模式。
3. w:表示该文件被打开并处于写入模式。
4. 空格:表示该文件的状态模式为unknow,且没有锁定。
5. -:表示该文件的状态模式为unknow,且被锁定。
标识 | 说明
:- | :-
`u` | 表示该文件被打开并处于读取/写入模式
`r` | 表示该文件被打开并处于只读模式
`w` | 表示该文件被打开并处于写入模式
`空格` | 表示该文件的状态模式为 unknow,且没有锁定
`-` | 表示该文件的状态模式为 unknow,且被锁定

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

1. N:for a Solaris NFS lock of unknown type;
2. r:for 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 OpenServer Xenix lock on the      entire file;
10. space:if there is no lock.

文件类型:

1. DIR:表示目录。
2. CHR:表示字符类型。
3. BLK:块设备类型。
4. UNIX: UNIX 域套接字。
5. FIFO:先进先出 (FIFO) 队列。
6. IPv4:网际协议 (IP) 套接字。
7. DEVICE:指定磁盘的名称
8. SIZE:文件的大小
9. NODE:索引节点(文件在磁盘上的标识)
10. NAME:打开文件的确切名称
11. REG:常规文件
标识 | 说明
:- | :-
`N` | 对于未知类型的Solaris NFS锁
`r` | 用于部分文件的读取锁定
`R` | 对整个文件进行读取锁定
`w` | 对文件的一部分进行写锁定(文件的部分写锁)
`W` | 对整个文件进行写锁定(整个文件的写锁)
`u` | 用于任何长度的读写锁
`U` | 对于未知类型的锁
`x` | 对于文件部分的SCO OpenServer Xenix锁
`X` | 对于整个文件的SCO OpenServer Xenix锁
`space` | 如果没有锁


**文件类型**

标识 | 说明
:- | :-
`DIR` | 表示目录
`CHR` | 表示字符类型
`BLK` | 块设备类型
`UNIX` | UNIX 域套接字
`FIFO` | 先进先出 (FIFO) 队列
`IPv4` | 网际协议 (IP) 套接字
`DEVICE` | 指定磁盘的名称
`SIZE` | 文件的大小
`NODE` | 索引节点(文件在磁盘上的标识)
`NAME` | 打开文件的确切名称
`REG` | 常规文件

列出指定进程号所打开的文件:

Expand Down

0 comments on commit 656e0a0

Please sign in to comment.