s11.1 lsof:查看进程打开的文件
功能说明
【语法格式】
范例11-1:显示使用文件的进程。
[root@lewen ~]# lsof /var/log/messages
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
abrt-watc 8718 root 4r REG 253,0 404668 522404 /var/log/messages
rsyslogd 10046 root 6w REG 253,0 404668 522404 /var/log/messages如果想知道某个特定的文件是由哪个进程在使用,就可以通过“lsof文件名”的方式
来得到。从上面的输出可以得知,/var/log/messages文件是由rsyslogd进程在使用。
输出中每列的含义具体如下。
-COMMAND:命令,进程的名称。
-PID:进程号。
-USER:进程的所有者。
-FD:文件描述符,它又包含如下内容。0:表示标准输出。1:表示标准输入。2:表示标准错误。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 10046 root cwd DIR 253,0 224 64 /
rsyslogd 10046 root rtd DIR 253,0 224 64 /
rsyslogd 10046 root txt REG 253,0 664080 522402 /usr/sbin/rsyslogd
...
范例11-3:显示指定进程号所打开的文件。
[root@lewen ~]# lsof -p 10046
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
rsyslogd 10046 root cwd DIR 253,0 224 64 /
rsyslogd 10046 root rtd DIR 253,0 224 64 /
rsyslogd 10046 root txt REG 253,0 664080 522402 /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 10044 root 3u IPv4 49337 0t0 TCP *:ssh (LISTEN)
sshd 10044 root 4u IPv6 49346 0t0 TCP *:ssh (LISTEN)
master 10215 root 13u IPv4 50008 0t0 TCP localhost:smtp (LISTEN)
master 10215 root 14u IPv6 50009 0t0 TCP localhost:smtp (LISTEN)
sshd 10805 root 3u IPv4 52326 0t0 TCP k8s-node1:ssh->10.0.0.1:10662 (ESTABLISHED)[root@lewen ~]# lsof -i tcp # <=显示所有tcp网培连接的进程信息
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd 10044 root 3u IPv4 49337 0t0 TCP *:ssh (LISTEN)
sshd 10044 root 4u IPv6 49346 0t0 TCP *:ssh (LISTEN)
master 10215 root 13u IPv4 50008 0t0 TCP localhost:smtp (LISTEN)
master 10215 root 14u IPv6 50009 0t0 TCP localhost:smtp (LISTEN)
sshd 10805 root 3u IPv4 52326 0t0 TCP k8s-node1:ssh->10.0.0.1:10662 (ESTABLISHED)[root@lewen ~]# lsof -i :22 #<=显示端口为22的进程,这条命今很常用
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd 10044 root 3u IPv4 49337 0t0 TCP *:ssh (LISTEN)
sshd 10044 root 4u IPv6 49346 0t0 TCP *:ssh (LISTEN)
sshd 10805 root 3u IPv4 52326 0t0 TCP k8s-node1:ssh->10.0.0.1:10662 (ESTABLISHED)[root@lewen ~]# lsof -i tcp:22 #<==星示同时满足TCP和端口为22的进程。
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd 10044 root 3u IPv4 49337 0t0 TCP *:ssh (LISTEN)
sshd 10044 root 4u IPv6 49346 0t0 TCP *:ssh (LISTEN)
sshd 10805 root 3u IPv4 52326 0t0 TCP k8s-node1:ssh->10.0.0.1:10662 (ESTABLISHED)
范例11-5:显示指定用户使用的文件。
[lewen@k8s-node1 ~]$ lsof -u lewen
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
bash 11081 lewen cwd DIR 253,0 62 33997200 /home/lewen
bash 11081 lewen rtd DIR 253,0 224 64 /
bash 11081 lewen txt REG 253,0 964608 50333656 /usr/bin/bash
bash 11081 lewen mem REG 253,0 61624 34664 /usr/lib64/libnss_files-2.17.so
bash 11081 lewen mem REG 253,0 106075056 50334298 /usr/lib/locale/locale-archive
bash 11081 lewen mem REG 253,0 2151672 34646 /usr/lib64/libc-2.17.so
bash 11081 lewen mem REG 253,0 19288 34652 /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 1 root 12u unix 0xffff964f7656e800 0t0 25117 /run/systemd/private
systemd 1 root 22u unix 0xffff964f7656fc00 0t0 25169 /run/lvm/lvmpolld.socket
systemd 1 root 23u unix 0xffff9650714f8400 0t0 8992 /run/systemd/notify
systemd 1 root 24u unix 0xffff9650714f8000 0t0 8994 /run/systemd/cgroups-agent
s11.1 lsof:查看进程打开的文件相关推荐
- linux命令 — lsof 查看进程打开那些文件 或者 查看文件给那个进程使用
lsof命令是什么? 可以列出被进程所打开的文件的信息.被打开的文件可以是 1.普通的文件,2.目录 3.网络文件系统的文件,4.字符设备文件 5.(函数)共享库 6.管道,命名管道 7.符号链 ...
- lsof 查看进程打开那些文件 和 查看文件给那个进程使用
lsof命令是什么? 可以列出被进程所打开的文件的信息.被打开的文件可以是 1.普通的文件,2.目录 3.网络文件系统的文件,4.字符设备文件 5.(函数)共享库 6.管道,命名管道 7.符号链 ...
- mysql lsof打开数过多_lsof 查看进程打开的文件情况 df -h 磁盘空间满的异常处理...
lsof的使用说明 2019/07/01 update chenxin lsof 查看进程打开了哪些文件 / 查看文件被哪个进程使用 lsof -u/-c/-p/^/file_path_and_fil ...
- lsof查看进程占用文件_lsof命令查看进程socket相关信息
1.释义 查看进程打开的文件.目录,还可以查看进程监听的端口等socket相关的信息 2.系统帮助 lsof: illegal option character: - lsof: -e not fol ...
- 16进制 ksh_AIX系统中如何统计进程打开的文件数目
作者:李烨楠 中国建设银行 来自微信公众号:平台人生 环境: AIX 6.1 AIX7.1 前言: 用户有时需要统计一个进程打开的文件数目,比如,在当前打开文件句柄使用量是否超过用户资源限制(/etc ...
- Linux下查看进程打开的文件句柄数
查看系统默认的最大文件句柄数,系统默认是1024 #ulimit -n 1024 查看当前进程打开了多少句柄数 #lsof -n|awk '{print $2}'|sort|uniq -c|sort ...
- 如何使用linux打开文件,如何使用Linux lsof命令列出打开的文件
lsof命令背景 命令列表中运行的进程打开的文件,Linux lsof命令列出了有关文件的信息,(lsof命令本身代表"list of open files"),在本文中我将共享一 ...
- 线程共享的环境包括:进程代码段、进程的公有数据(利用这些共享的数据,线程很容易的实现相互之间的通讯)、进程打开的文件描述符、信号的处理器、进程的当前目录和进程用户ID与进程组ID。 进程拥有这
线程共享的环境: 进程代码段.进程的公有数据(利用这些共享的数据,线程很容易的实现相互之间的通讯).进程打开的文件描述符.信号的处理器.进程的当前目录和进程用户ID与进程组ID. 进程拥有这许多共性的 ...
- 使用lsof恢复进程打开的误删除文件
在Linux系统中一切皆可以看成是文件,文件又可分为:普通文件.目录文件.链接文件和设备文件.文件描述符(file descriptor)是内核为了高效管理已被打开的文件所创建的索引,其是一个非负整数 ...
最新文章
- 计算机网络中的拓扑结构教案,计算机网络拓扑结构教案
- OWASP TOP 10 1
- python并发运行
- 罗永浩的公司被收购,还清债务指日可待
- nexus搭建maven私服及私服jar包上传和下载
- [JAVA毕业设计]Web企业差旅在线管理系统源码获取和系统演示
- Ultra Librarian 生成Orcad封装教程
- 读入外挂:ios::sync_with_stdio(false)
- USB转RS232串口应用
- 大学心理学课本_大学心理学专业用的是什么教材 名字叫什么
- 代写品牌故事怎么写才能打动消费者
- ElasticSearch for GIS应用
- 软件测试中的正交缺陷分析总结,正交缺陷分类(ODC)流程简介及应用经验分享(上)...
- linux kali安装应用商店
- 蓝桥 卷“兔”来袭编程竞赛专场-04栅栏加密 题解
- 一键式统计6.0季报测试
- 祭奠信任Nokia的那些日子
- 十六进制转十进制-华为算法题
- 读论文《A Neural Probabilistic Language Model》
- Linux使用Android的USB共享网络
热门文章
- python手机号脱敏代码_Excel技巧—如何对手机号码脱敏处理
- java文字转语音支持ubuntu系统_微信内测语音进度条,60秒语音终于有救了?腾讯:并没有...
- python删除链表中重复的节点_Java编程删除链表中重复的节点问题解决思路及源码分享...
- 如何用python批量处理图片大小_python批量修改图片大小的方法
- 十七、频繁模式、关联和相关性的基本概念和方法
- 付费?是不可能的!20行Python代码实现一款永久免费PDF编辑工具
- GitHub 标星 7000+,面试官的灵魂 50 问,问到你怀疑人生!
- Python 2.7 将于7个月后终结,这是你需要了解的3.X炫酷新特性
- 爬一爬那些年你硬盘存过的老师
- 完课率最高 | 带学吴恩达《机器学习》课程和作业,带打Kaggle全球顶级大赛!...