原文阅读:【巨人肩膀社区·博客·分享】 shell 文件打开情况工具 lsof
介绍
lsof(list open files)是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。如TC和UDP等,系统在后台都为该应用程序分配了一个文件描述符,无论这个文件的本质如何,该文件描述符为应用程序与基础操作系统之间的交互提供了通用接口。因为应用程序打开文件的描述符列表提供了大量关于这个应用程序本身的信息,因此通过lsof工具能够查看这个列表对系统监测以及排错将是很有帮助的
用于查看你进程开打的文件,打开文件的进程,进程打开的端口(TCP、UDP)。找回/恢复删除的文件。是十分方便的系统监视工具,因为 lsof 需要访问核心内存和各种文件,所以需要root用户执行。
lsof [参数][文件]
lsof输出各列信息的意义如下:
1.COMMAND:进程的名称
2.PID:进程标识符
3.PPID:父进程标识符(需要指定-R参数)
4.USER:进程所有者
5.FD:文件描述符,应用程序通过文件描述符识别该文件。如cwd、txt等
查看本机某个端口的网络连接sudo lsof -i:端口
[root@10 ~]# sudo lsof -i:xxxx
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 8421 root 503u IPv6 1037290737 0t0 TCP 本机ip:xxxx->目标ip:afs3-callback (ESTABLISHED)
Tips:记到加sudo