s11.1 lsof:查看进程打开的文件
功能说明
【语法格式】
范例11-1:显示使用文件的进程。
[root@lewen ~]# lsof /var/log/messages
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
abrt-watc root 4r REG , /var/log/messages
rsyslogd root 6w REG , /var/log/messages 如果想知道某个特定的文件是由哪个进程在使用,就可以通过“lsof文件名”的方式
来得到。从上面的输出可以得知,/var/log/messages文件是由rsyslogd进程在使用。
输出中每列的含义具体如下。
-COMMAND:命令,进程的名称。
-PID:进程号。
-USER:进程的所有者。
-FD:文件描述符,它又包含如下内容。
0:表示标准输出。
:表示标准输入。
:表示标准错误。
u:表示该文件被打开并处于读取/写人模式。
r:表示该文件被打开并处于只读模式。
w:表示该文件被打开并处于写人模式。
-TYPE:文件类型,REG(regular)为普通文件。
-DEVICE:指定磁盘的名称。
-SIZE/OFF:文件的大小。
-NODE:索引节点。
-NAME:文件名称。
范例11-2:显示指定进程所打开的文件。
[root@lewen ~]# lsof -c rsyslog
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
rsyslogd root cwd DIR , /
rsyslogd root rtd DIR , /
rsyslogd root txt REG , /usr/sbin/rsyslogd
...
范例11-3:显示指定进程号所打开的文件。
[root@lewen ~]# lsof -p
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
rsyslogd root cwd DIR , /
rsyslogd root rtd DIR , /
rsyslogd root txt REG , /usr/sbin/rsyslogd
...
范例11-4:监听指定的协议、端口和主机等信息,显示符合条件的进程信息。
- 46:4代表IPv4,6代表IPv6。
- protocol:传输协议,可以是TCP或UDP。
- hostname:主机名称或者IP地址。
- service:进程的服务名,例如NFS、SSH和FTP等。
- port:系统中与服务对应的端口号。例如HTTP服务默认对应的端口号为80,SS日服务默认对应的端口号为22。了解了语法格式之后,再来看看范例的解答。
[root@lewen ~]# lsof -i #<=查看所有进程。
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd root 3u IPv4 0t0 TCP *:ssh (LISTEN)
sshd root 4u IPv6 0t0 TCP *:ssh (LISTEN)
master root 13u IPv4 0t0 TCP localhost:smtp (LISTEN)
master root 14u IPv6 0t0 TCP localhost:smtp (LISTEN)
sshd root 3u IPv4 0t0 TCP k8s-node1:ssh->10.0.0.1: (ESTABLISHED) [root@lewen ~]# lsof -i tcp # <=显示所有tcp网培连接的进程信息
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd root 3u IPv4 0t0 TCP *:ssh (LISTEN)
sshd root 4u IPv6 0t0 TCP *:ssh (LISTEN)
master root 13u IPv4 0t0 TCP localhost:smtp (LISTEN)
master root 14u IPv6 0t0 TCP localhost:smtp (LISTEN)
sshd root 3u IPv4 0t0 TCP k8s-node1:ssh->10.0.0.1: (ESTABLISHED) [root@lewen ~]# lsof -i : #<=显示端口为22的进程,这条命今很常用
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd root 3u IPv4 0t0 TCP *:ssh (LISTEN)
sshd root 4u IPv6 0t0 TCP *:ssh (LISTEN)
sshd root 3u IPv4 0t0 TCP k8s-node1:ssh->10.0.0.1: (ESTABLISHED) [root@lewen ~]# lsof -i tcp: #<==星示同时满足TCP和端口为22的进程。
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd root 3u IPv4 0t0 TCP *:ssh (LISTEN)
sshd root 4u IPv6 0t0 TCP *:ssh (LISTEN)
sshd root 3u IPv4 0t0 TCP k8s-node1:ssh->10.0.0.1: (ESTABLISHED)
范例11-5:显示指定用户使用的文件。
[lewen@k8s-node1 ~]$ lsof -u lewen
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
bash lewen cwd DIR , /home/lewen
bash lewen rtd DIR , /
bash lewen txt REG , /usr/bin/bash
bash lewen mem REG , /usr/lib64/libnss_files-2.17.so
bash lewen mem REG , /usr/lib/locale/locale-archive
bash lewen mem REG , /usr/lib64/libc-2.17.so
bash lewen mem REG , /usr/lib64/libdl-2.17.so
范例11-6:显示所有socket文件。
[root@k8s-node1 ~]# lsof -U
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
systemd root 12u unix 0xffff964f7656e800 0t0 /run/systemd/private
systemd root 22u unix 0xffff964f7656fc00 0t0 /run/lvm/lvmpolld.socket
systemd root 23u unix 0xffff9650714f8400 0t0 /run/systemd/notify
systemd root 24u unix 0xffff9650714f8000 0t0 /run/systemd/cgroups-agent
s11.1 lsof:查看进程打开的文件的更多相关文章
- Linux 系统管理命令 - lsof - 查看进程打开的文件
命令详解 重要星级: ★★★★★ 功能说明: 全名为 list open files,也就是列举系统中已经被打开的文件,通过 lsof 命令,就可以根据文件找到对应的进程信息,也可以根据进程信息找到进 ...
- linux命令 — lsof 查看进程打开那些文件 或者 查看文件给那个进程使用
lsof命令是什么? 可以列出被进程所打开的文件的信息.被打开的文件可以是 1.普通的文件,2.目录 3.网络文件系统的文件,4.字符设备文件 5.(函数)共享库 6.管道,命名管道 7.符号链 ...
- linux lsof 查看进程打开那些文件 或者 查看文件给那个进程使用
lsof命令是什么? 可以列出被进程所打开的文件的信息.被打开的文件可以是 1.普通的文件,2.目录 3.网络文件系统的文件,4.字符设备文件 5.(函数)共享库 6.管道,命名管道 7.符号链 ...
- lsof查看进程打开了哪些文件目录套接字
lsof查看进程打开了哪些文件目录套接字
- lsof恢复进程打开的文件
工作原理:进程每打开文件都会生成一个文件句柄FD来标识一个文件,进程打开的文件如果没有被释放,可以通过文件句柄FD来恢复删除的文件 注意:适合恢复进程一直在打开一个文件,例如日志文件,如果配置文件进程 ...
- lsof 查看打开了一个文件的有哪些进程 统计那个进程打开的文件最多
lsof | grep /lib64/libc-2.12.so | wc == 查看打开了一个文件的有哪些进程 lsof | awk '{print $2,$1}' | sort | uniq - ...
- ARTS-S linux查看进程打开的文件数
当怀疑进程打开文件没有关闭时,可以反复执行以下命令,查看进程打开的文件数是否会不断增加. ls -l /proc/18707/fd | wc -l 其中18707是进程id
- Linux 利用进程打开的文件描述符(/proc)恢复被误删文件
Linux 利用进程打开的文件描述符(/proc)恢复被误删文件 在 windows 上删除文件时,如果文件还在使用中,会提示一个错误:但是在 linux 上删除文件时,无论文件是否在使用中,甚至是还 ...
- Linux下查看进程打开的文件句柄数和如何修改
修改文件句柄数在Linux下,我们使用ulimit -n 命令可以看到单个进程能够打开的最大文件句柄数量(socket连接也算在里面).系统默认值1024. 对于一般的应用来说(象Apache.系统进 ...
随机推荐
- 【校招面试 之 网络】第3题 HTTP请求行、请求头、请求体详解
1.HTTP请求报文解剖 HTTP请求报文由3部分组成(请求行+请求头+请求体): 下面是一个实际的请求报文: ①是请求方法,GET和POST是最常见的HTTP方法,除此以外还包括DELETE.HEA ...
- Bootstrap(7) 输入框和导航组件
一.输入框组件 文本输入框就是可以在<input>元素前后加上文字或按钮,可以实现对表单控件的扩展. //在左侧添加文字 <!-- //在左侧添加文字 --> ...
- Ubuntu安装UFW防火墙
sudo apt-get install ufw 一般用户,只需如下设置:sudo apt-get install ufw sudo ufw enable sudo ufw default deny ...
- Jenkins+Jmeter+Ant自动化集成及邮件正文以html输出
一.工具的安装与环境变量配置 1.依次安装Jenkins+Jmeter+Ant,具体安装步骤,此文不再详述 2.配置Jmeter&ant环境变量 Jmeter变量: 验证是否配置成功:cmd窗 ...
- qrcodenet二维码图片下扩展区域添加号段的操作
总监安排了个任务,一个号码导出一个二维码图, 我实现了最终还能批量生成,结果主管说要在图片下边添加一行,和图片是一起的 最开始把控件的上的图给改了,结果保存起来没用,控件上的图跟要保存的不是一个事. ...
- Oracle_PL/SQL(5) 包
包1.定义:包用于逻辑组合相关的PL/SQL类型,项和子程序,由包规范和包体组成 建立包规范:包规范是包与应用程序之间的接口,用于定义包的公用组件, 包括常量,变量,游标,过程,函数等 建立包体:用于 ...
- c++ 备忘
一.类型转换#include <sstream>stringstream ss;ss<<reverse(s1)<<'\t'<<reverse(s2);s ...
- Maven的conf目录下settings.xml的简单配置
省略一些其他配置 <?xml version="1.0" encoding="UTF-8"?> <settings xmlns="h ...
- Autel MaxiSys MS906TS tire pressure settings Lexus LS460h
Use AUTEL MaxiSYS MS906TS error reader to install tire pressure Lexus LS460h in Vung Tau. Make : Lex ...
- H5C3动画
1 渐变 /* 渐变:不同颜色之间的柔和过渡 线性渐变:沿着某条直线发生渐变效果 注意:渐变准备来说是一张背景图 语法:linear-gradient */ background-image: lin ...