实用的系统工具之 lsof

lsof 简介

只需输入 lsof 就可以生成大量的信息,因为 lsof 需要访问核心内存和各种 文件,所以必须以 root 用户的身份运行它才能够充分地发挥其功能。

lsof 的示例输出:

root@YLinux:~/lab 0# lsof
COMMAND PID TID USER FD TYPE DEVICE SIZE/OFF NODE NAME
systemd 1 root cwd DIR 8,6 4096 2 /
systemd 1 root rtd DIR 8,6 4096 2 /
systemd 1 root txt REG 8,6 2273340 1834909 /usr/lib/systemd/systemd
systemd 1 root mem REG 8,6 210473 1700647 /lib/libnss_files-2.15.s
...

lsof 常用使用

文件

查看文件被哪些进程占用

# lsof /dev/tty1
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
bash 1770 jian 0u CHR 4,1 0t0 1045 /dev/tty1
bash 1770 jian 1u CHR 4,1 0t0 1045 /dev/tty1
bash 1770 jian 2u CHR 4,1 0t0 1045 /dev/tty1
bash 1770 jian 255u CHR 4,1 0t0 1045 /dev/tty1
startx 1845 jian 0u CHR 4,1 0t0 1045 /dev/tty1
startx 1845 jian 1u CHR 4,1 0t0 1045 /dev/tty1
...

文件系统

指定目录,可以看到有哪些进程打开了其下的文件:

# lsof /data/
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
bash 15983 jian cwd DIR 8,5 4096 8252 /data/backup
...

这在 umount 某个文件系统失败时非常有用。

进程

指定进程号,可以查看该进程打开的文件:

# lsof -p 2064
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
firefox 2064 jian cwd DIR 8,6 4096 1571780 /home/jian
firefox 2064 jian rtd DIR 8,6 4096 2 /
firefox 2064 jian txt REG 8,6 44224 1985670 /usr/lib/firefox-12.0/firefox
firefox 2064 jian mem REG 8,6 14707012 925361 /usr/share/fonts/chinese/msyhbd.ttf
firefox 2064 jian mem REG 8,6 15067744 925362 /usr/share/fonts/chinese/msyh.ttf
firefox 2064 jian mem REG 8,6 16791251 1701681 /usr/share/fonts/wenquanyi/wqy-zenhei.ttc
firefox 2064 jian mem REG 0,16 67108904 10203 /dev/shm/pulse-shm-3021850167
...

网絡

查看指定端口有哪些进程在使用:

# lsof -i:22
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd 1569 root 3u IPv4 10303 0t0 TCP *:ssh (LISTEN)
sshd 1569 root 4u IPv6 10305 0t0 TCP *:ssh (LISTEN)
...

查看指定网口有哪些进程在使用:

# lsof -i@192.168.1.91
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
skype 1909 jian 54u IPv4 9116 0t0 TCP 192.168.1.91:40640->64.4.23.153:40047 (ESTABLISHED)
pidgin 1973 jian 7u IPv4 6599 0t0 TCP 192.168.1.91:59311->hx-in-f125.1e100.net:https (ESTABLISHED)
pidgin 1973 jian 13u IPv4 9260 0t0 TCP 192.168.1.91:54447->by2msg3010511.phx.gbl:msnp (ESTABLISHED)
...

更多使用

用戶

查看指定用戶打开的文件:

# lsof -u messagebus
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
dbus-daem 1805 messagebus cwd DIR 8,6 4096 2 /
dbus-daem 1805 messagebus rtd DIR 8,6 4096 2 /
dbus-daem 1805 messagebus txt REG 8,6 1235361 1834948 /usr/bin/dbus-daemon
dbus-daem 1805 messagebus mem REG 8,6 210473 1700647 /lib/libnss_files-2.15.so
dbus-daem 1805 messagebus mem REG 8,6 190145 1700642 /lib/libnss_nis-2.15.so
dbus-daem 1805 messagebus mem REG 8,6 490366 1700636 /lib/libnsl-2.15.so
...

程序

查看指定程序打开的文件:

# lsof -c firefox
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
firefox 2064 jian cwd DIR 8,6 4096 1571780 /home/jian
firefox 2064 jian rtd DIR 8,6 4096 2 /
firefox 2064 jian txt REG 8,6 44224 1985670 /usr/lib/firefox-12.0/firefox
firefox 2064 jian mem REG 8,6 14707012 925361 /usr/share/fonts/chinese/msyhbd.ttf
firefox 2064 jian mem REG 8,6 15067744 925362 /usr/share/fonts/chinese/msyh.ttf
firefox 2064 jian mem REG 8,6 16791251 1701681 /usr/share/fonts/wenquanyi/wqy-zenhei.ttc
...

命令使用

组合查询条件

只有多个查询条件都满足, 用 "-a" 参数。

# lsof -a -c bash -u root
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
bash 1986 root cwd DIR 8,6 4096 1701593 /root/lab
bash 1986 root rtd DIR 8,6 4096 2 /
bash 1986 root txt REG 8,6 1994157 1700632 /bin/bash
bash 1986 root mem REG 8,6 9690800 405214 /usr/lib/locale/locale-archive
bash 1986 root mem REG 8,6 210473 1700647 /lib/libnss_files-2.15.so

原文发布时间为:2013-08-19

本文来自合作伙伴“Linux中国”

时间: 2024-08-31 21:30:31

实用的系统工具之 lsof的相关文章

免费实用微软系统工具集推荐

Windows Sysinternals Suite 是一套由微软官方免费提供的系统工具集,其中内置有大量超实用的免费系统维护小软件,譬如 Desktops (虚拟桌面).Process Explorer (进程浏览器).Autoruns (系统启动项管理) 等等,每一款都是超经典超实用的好工具,绝对值得大家了解.收藏并使用.由于该工具集中内置的实用工具实在太多,下面笔者这是简单的罗列了一下该工具集内的每一个工具的基本情况,希望在大家选择使用时有所帮助! 下面笔者将Windows Sysinte

基于 J2EE 的企业应用系统 - 工具一览表

j2ee 基于 J2EE 的企业应用系统 - 工具一览表 应用服务器 -------------------------------- Jetty - http://jetty.mortbay.org/jetty/index.html HTTP 服务器和 Java Serverlet 容器 JOTM - http://www.objectweb.org/jotm/index.html 事务管理服务器 Apache - http://www.apache.org/ 这些东西就不摆了,HTTP, X

win8系统工具快捷入口:win+X快捷键

Windows 8采用了全新的Metro界面代替了经典的开始菜单功能,这对于非触屏用户大大的不方便啊,只能用一些快捷键来提高效率.全 新的Windows 8中新增加了不少快捷键,例如Win+X快捷键,会在桌面左下角弹出一个菜单,里面包含常用到的系统工具:程序与功能.网络连接.电源选项.事件查看器. 系统.设备管理器.磁盘管理器.计算机管理.命令提示符.任务管理器.控制面板.Windows资源管理器.搜索.运行.桌面. 习惯用快捷键能大大的提高效率是大家都知道的事实,随着微软每次发布操作系统都会根

IE浏览器开发人员工具中实用的“小工具”

  自IE8浏览器开始,微软在IE中内置了开发人员工具,一般用户而言大概很少在使用吧?不过小编要说的,虽然这是一款开发人员工具,但是里面却有很多实用的"小工具"噢! 按一下键盘上F12可以打开或关闭该工具,打开开发人员工具后会出现在IE浏览器窗口的下面,各种实用的"小工具"可以由菜单栏中打开. 在"文件"里面,你可以设置查看网页源代码时所采用的程序,例如:记事本.Word.EditPlus.FrontPage 等. 在"缓存"

打开系统工具磁盘清理提示"高级INF安装错误"

  知识点分析: 打开系统工具磁盘清理,提示高级INF安装错误. 这是由于QQ组件损坏导致的. 操作步骤: 卸载QQ,将该目录下的paycenter文件夹重命名,重新安装,然后再进行测试.

系统重装软件:小白一键重装系统工具

小白一键重装http://www.aliyun.com/zixun/aggregation/18478.html">系统工具是一款小巧易用的系统重装软件,它集一键备份.在线重装.一键还原功能于一身,软件免安装,且无需任何技术基础都可以使用,代表电脑系统安装由传统光驱.U盘工具等借助外部设备的技术型走向软件化.大众化的技术过度的创新. 小白一键重装系统工具是一款傻瓜式的电脑系统重装软件,可实现任何windows系统下一键重装win7/xp系统,是当前最简单最快速的系统重装软件.它摆脱了传统借

system调用-代码里面用system函数调用系统工具

问题描述 代码里面用system函数调用系统工具 有的调不出来,比如数学输入面板和截图工具,我是64位系统,在64位模式下构建才可以调用,在32位模式下就提示不是命令,但是我现在在做cocos,只有32平台,怎么办? 解决方案 急求啊大家帮帮忙怎么解决? 解决方案二: 64位系统,运行32位平台会导致某些指令不识别的问题,这是window系统的问题,不能解决,唯一的办法就是去找一个64位的平台,望采纳. 解决方案三: 这是应该是由于Windows的WOW64子系统文件系统重定向导致的,在amd6

Free Help Desk 2.0发布 桌面帮助系统工具

Freehelpdesk是一个基于Web界面的http://www.aliyun.com/zixun/aggregation/17547.html">功能强大的桌面帮助系统工具.可以从用户接受新的呼叫直接进入系统.呼叫可以被跟踪和搜索,以便更快的响应时间. Free Help Desk 2.0该版本重新改写,新的界面运行速度更快,更安全.该数据库是不变的,可以从任何以前的版本直接升级. 软件信息:http://freehelpdesk.org/ 下载地址:http://freehelpde

JAVA应用系统工具快捷托盘实例代码_java

 1.打开各种系统工具            2.定时关机(重启.睡眠未实现 请参照上面两个文章自行扩展)           3.简单文件操作 复制代码 代码如下: [java]  package com.cxy.f;  import java.awt.Image;  import java.awt.MenuItem;  import java.awt.PopupMenu;  import java.awt.SystemTray;  import java.awt.Toolkit;  impo