lsof---列出当前系统打开的文件信息
lsof---list open file,一个列出当前系统打开文件的工具
1.lsof查找原理
在Linux系统中,系统为了方便管理进程,会在/proc下为每一个运行中的进程创建一个目录,目录名就是进程号,而在进程的目录下有一个叫作fd的目录,这个目录下存放的是进程打开的所有文件。而lsof命令搜寻的其实就是/proc/$PID/fd下面的文件。
[root@localhost ~]# lsof
COMMAND PID TID USER FD TYPE DEVICE SIZE/OFF NODE NAME
systemd 1 root cwd DIR 253,0 4096 128 /
systemd 1 root rtd DIR 253,0 4096 128 /
systemd 1 root txt REG 253,0 1214424 353923 /usr/lib/systemd/systemd
systemd 1 root mem REG 253,0 61624 67175738 /usr/lib64/libnss_files-2.17.so
systemd 1 root mem REG 253,0 90632 67211369 /usr/lib64/libz.so.1.2.7
systemd 1 root mem REG 253,0 19888 67211548 /usr/lib64/libattr.so.1.1.0
systemd 1 root mem REG 253,0 115848 67175725 /usr/lib64/libnsl-2.17.so
systemd 1 root mem REG 253,0 153184 67176234 /usr/lib64/liblzma.so.5.0.99
systemd 1 root mem REG 253,0 398264 67176278 /usr/lib64/libpcre.so.1.2.0
......
# COMMAND:进程的名称,如果进程的名字很长,则这里只会显示前9个字符。
# PID:进程标识符。如果执行命令时指定-R参数,则父进程标识符PPID也会显示出来。
# USER:进程所有者。如果执行命令时指定-g参数,则进程所属组标识符PGID也会显示出来。
# FD:一般是指文件描述符。
# TYPE:文件类型,如DIR、REG等,常见的文件类型。
◇ DIR:表示目录。
◇ REG:表示普通文件。
◇ CHR:表示字符类型。
◇ BLK:块设备类型。
◇ UNIX:UNIX域套接字。
◇ FIFO:先进先出(FIFO)队列。
◇ IPv4/IPv6:网际协议(IP)套接字。
# DEVICE:磁盘的名称。
# SIZE:文件的大小。
# NODE:索引节点(文件在磁盘上的标识)。
# NAME:打开文件的确切名称。
| FD:两种文件描述符 | desc |
|---|---|
| 第一类是文件描述符 | 0表示标准输入。 1表示标准输出。 2表示标准错误输出。 n表示其他文件描述符的数值 |
| 第二类的描述文件特征的标识 | cwd:应用程序的当前工作目录,也是该应用程序启动的目录。 txt:该类型文件是程序代码或数据。 mem:内存映射文件。 pd:父目录。 rtd:根目录。 DEL:表示文件已经被进程删除但还在内存中存在。 |
2.查看谁正在使用某个文件
lsof /filepath/file
3:查看端口被谁占用
lsof -i:port
lsof -i udp:55
4.列出某个程序打开的文件信息
lsof -c sshd
5.通过某个进程号显示该进行打开的文件
lsof -p 1
6.列出所有tcp 网络连接信息
lsof -i tcp
7.列出某个用户打开的文件信息
lsof -u username
lsof---列出当前系统打开的文件信息的更多相关文章
- 通过某个进程号显示该进行打开的文件 lsof -p 1 11. 列出多个进程号对应的文件信息 lsof -p 123,456,789 5. 列出某个用户打开的文件信息 lsof -u username
linux命令 — lsof 查看进程打开那些文件 或者 查看文件给那个进程使用 lsof命令是什么? 可以列出被进程所打开的文件的信息.被打开的文件可以是 1.普通的文件,2.目录 3.网络文件系 ...
- Linux进程管理 lsof命令:列出进程调用或打开的文件信息
lsof命令 通过 ps 命令查询到系统中所有的进程, 通过lsof 命令可以知道这个进程到底在调用哪些文件.lsof 命令格式如下: [root@localhost ~]# lsof [选项] 选项 ...
- 关于Linux系统打开最大文件数量
今天做压力测试 客户端数据提到2000人,在这个过程中,遇到了分配socket失败的问题提示 errno:24 Too many open files查找资料后发现是Linux系统配置了打开文件的最大 ...
- 解决系统打开CHM文件无法正常显示
最近学习servlet下载了一个CHM的帮助手册但是打开后右侧却时空白.试了各种方法都没有成功最后终于找到原因所在. 一般情况下无法显示网页:右键 chm文件属性里最下面有个“解除锁定”,点击“解除锁 ...
- linux命令 — lsof 查看进程打开那些文件 或者 查看文件给那个进程使用
lsof命令是什么? 可以列出被进程所打开的文件的信息.被打开的文件可以是 1.普通的文件,2.目录 3.网络文件系统的文件,4.字符设备文件 5.(函数)共享库 6.管道,命名管道 7.符号链 ...
- linux lsof 查看进程打开那些文件 或者 查看文件给那个进程使用
lsof命令是什么? 可以列出被进程所打开的文件的信息.被打开的文件可以是 1.普通的文件,2.目录 3.网络文件系统的文件,4.字符设备文件 5.(函数)共享库 6.管道,命名管道 7.符号链 ...
- lsof 命令 系统管理 系统监控
lsof(list open files)是一个列出当前系统打开文件的工具.在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件. 在终端下输入ls ...
- lsof命令查看端口关联的文件
lsof命令查看端口关联的文件 lsof(list open files)是一个列出当前系统打开文件的工具.在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网 ...
- Linux 命令 - lsof: 列出打开的文件
lsof 是一个列出当前系统打开文件的工具. 命令格式 lsof [ -?abChlnNOPRstUvVX ] [ -A A ] [ -c c ] [ +c c ] [ +|-d d ] [ + ...
随机推荐
- 深入解析 composer 的自动加载原理
PHP 自5.3的版本之后,已经重焕新生,命名空间.性状(trait).闭包.接口.PSR 规范.以及 composer 的出现已经让 PHP 变成了一门现代化的脚本语言.PHP 的生态系统也一直在演 ...
- Flume-Exec Source 监控单个本地文件
实时监控,并上传到 HDFS 中. 一.Flume 要想将数据输出到 HDFS,须持有 Hadoop 相关 jar 包 若 Hadoop 环境和 Flume 在同一节点,那么只要配置 Hadoop 环 ...
- koa 项目打包(使用webpack打包koa2 框架app)
关键问题 一:所有node_modules里的模块都不进行打包 webpack的核心功能是将引用的各个模块打到一个文件里,并会将各种规范的模块进行统一的模块化处理(webpack规范). 然而node ...
- POJ 1789 -- Truck History(Prim)
POJ 1789 -- Truck History Prim求分母的最小.即求最小生成树 #include<iostream> #include<cstring> #incl ...
- http2.0多路复用
http/1中的每个请求都会建立一个单独的连接,除了在每次建立连接过程中的三次握手之外,还存在TCP的慢启动导致的传输速度低.其实大部分的http请求传送的数据都很小,就导致每一次请求基本上都没有达到 ...
- C++ STL——输入输出流
[TOC] 注:原创不易,转载请务必注明原作者和出处,感谢支持! 注:内容来自某培训课程,不一定完全正确! 一 缓冲区 (1)标准输入:从键盘输入数据到程序(input) (2)标准输出:程序数据输出 ...
- vscode在软件内部查看html渲染效果的插件
使用方法: Usage press 'F1' and type "Show Live Server Preview" F1,然后输入Show Live Server Preview ...
- Vue UI组件 开发框架 服务端 辅助工具 应用实例 Demo示例
Vue UI组件 开发框架 服务端 辅助工具 应用实例 Demo示例 element ★11612 - 饿了么出品的Vue2的web UI工具套件 Vux ★7503 - 基于Vue和WeUI的组件库 ...
- centos6 安装docker
docker 安装要求内核大于3.10 , 而centos6 机器上内核一般是2.6 , 除了升级内核外, 还可以安装低版本的docker , 本文介绍docker 1.7的安装. 机器 环境 [ro ...
- Servlet(1):基础概念/最简实例
Servlet 生命周期(1) init()方法初始化Servlet对象 它在第一次创建Servlet时被调用,在后续每次不同用户请求时不再调用.(2) service()方法来处理客户端的请求 ...