`
weiyinchao88
  • 浏览: 1235027 次
文章分类
社区版块
存档分类
最新评论

linux程序调试之工具篇(一):lsof 快速起步

 
阅读更多

lsof 快速起步

<!--End of Table of Contents-->

查看对某个文件的使用情况

查看哪些进程对某个文件进行了调用:

$ lsof /etc/passwd

查看对文件系统的使用

/tmp目录被垃圾文件塞满了, 但是, 用ls 又看不到太大文件, 谁干的?

$ lsof /tmp

查找打开,但是不能连接的文件

一个进程打开一个文件, 然后将其设为 unlinked 状态, 则此文件资源仍能被进程使用, 但是其访问路径已经被删除了. 因此, 使用ls不能将其列出. 只有当进程结束时, 才能释放文件占用的资源

查找unlinked 文件, 选项 +L, 作用: 列出打开文件的连接数

$lsof +L

指定连接数的上限 $lsof +L1

同时指定文件系统, 则需要使用 -a(AND) 选项

$ lsof -a +L1 /home

无法卸载

查看谁令mount的分区无法卸载

$ lsof <file_system_name>

查看监听socket

查看网络服务

$ lsof -i

查看某个网络连接

$ lsof -i@aaa.bbb.ccc

$ lsof -iTCP@aaa.bbb.ccc:ftp-data *指定协议*

$ lsof -i4 *指定IP版本*

$ lsof -i6

识别 Netstat 连接

例如: netstat -p -t -n 的输出为:

Proto Recv-Q Send-Q Local Address Foreign Address State

tcp 0 0 218.56.203.246:52634 202.109.72.72:7000 ESTABLISHED

则可以: tony@tony:~$ lsof -iTCP@202.109.72.72:7000

COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME

xchat 4505 tony 12u IPv4 5775 TCP 218.56.203.246:52634->202.109.72.72:afs3-fileserver (ESTABLISHED)

查找针对某个命令打开的文件

使用命令的PID

$ lsof -p <PID>

使用命令名称

$ lsof -c <first_characters_of_command_name_that_interest_you>

$ lsof -c sendmail

查看谁在使用设备文件

$ lsof /dev/hda6

查看某个用户的操作

$ id -u tony

1000

$ lsof -u1000 or $ lsof -utony

$ lsof -u^tony * 则是取反的意思*

分享到:
评论

相关推荐

    linux_lsof.rar

    Linux中的`lsof`(List Open Files)是一个强大的系统工具,用于查看当前系统中打开的文件和资源。它能够显示进程信息,包括进程ID、所使用的文件描述符、打开的文件路径、网络连接等。在Linux环境中,了解并熟练...

    Linux工具快速教程

    Linux工具快速教程的内容编排和深度覆盖,旨在帮助读者快速了解和掌握Linux系统下的命令行工具的使用,从而更有效地进行系统管理和程序开发。通过实践和不断学习,读者将能够把知识应用到实际工作中,解决实际问题。

    lsof-4.82-5.el6.x86_64.rpm

    yum版本 lsof-i:单口号 可查询端口使用情况。如:lsof -i:80

    lsof_4.76.tar.gz

    为了更好地监控和调试系统,开发者和管理员经常会用到各种实用工具,其中lsof(List Open Files)就是一款不可或缺的利器。本文将详细介绍如何通过二进制安装包`lsof_4.76.tar.gz`在Linux系统上安装lsof,并探讨其...

    lsof.zip lsof离线安装包

    解压安装包 tar -zxvf lsof_4.76.tar.gz 解压源码包 cd lsof_4.76 ..../Configure linux yyyyyyyyyyyyyyyyyyyyy make 创建链接(快捷方式) ln -s /root/songzehao/lsof_4.76/lsof_4.76_src/lsof /usr/bin

    linux命令 — lsof 查看进程打开那些文件 或者 查看文件给那个进程使用1

    `lsof`(List Open Files)是Linux操作系统中的一个强大工具,用于查看系统中当前打开的文件和它们被哪些进程占用。它可以帮助系统管理员、开发者或者普通用户了解系统资源的使用情况,诊断问题,例如查找哪个进程...

    linux使用lsof命令查看文件打开情况

    `lsof`(list open files)命令是一个非常实用的工具,它能够显示系统中所有打开的文件和对应的进程信息。本文将深入探讨`lsof`命令的使用方法及其在不同场景下的应用。 ### 前言 在Linux环境下,一切资源都被抽象为...

    Linux命令lsof详解

    ### Linux命令lsof详解 #### 一、lsof命令简介 `lsof` 命令在Linux系统中扮演着极其重要的角色,它主要用于列出当前系统中所有已经打开的文件。这些文件可以是普通文件、设备文件、目录、套接字等。对于系统管理员...

    linux lsof命令详解.docx

    `lsof` 是一个极其有用的工具,不仅对于系统管理和故障排除非常重要,还为开发人员提供了一种检查程序行为的有效手段。通过深入理解其输出格式和灵活运用各种参数,可以大大提高诊断问题的效率。无论是初学者还是...

    Linux for ARM 调试软件集

    "Linux for ARM 调试软件集"是专门为ARM架构的Linux系统设计的一系列调试工具,这些工具对于开发者来说至关重要,能够帮助他们有效地诊断和解决系统问题,优化性能,以及进行远程管理。 1. **PuTTY**:PuTTY是一款...

    lsof-4.87-6.el7.x86_64.rpm

    在CentOS 7环境下,`lsof`是不可或缺的工具之一。本文将详细介绍`lsof`的安装过程,以及如何利用它来获取系统状态信息。 首先,`lsof-4.87-6.el7.x86_64.rpm`是针对CentOS 7系统的一个64位版本的`lsof`软件包。为了...

    linux调试工具

    在Linux操作系统中,调试工具是开发者和系统管理员的得力助手,它们可以帮助我们诊断和修复各种软件问题。本文将深入探讨“Linux调试工具”的主题,包括其重要性、常用工具以及如何有效地使用它们。 首先,了解...

    lsof-master交叉编译之后的lsof命令

    交叉编译完成的lsof命令,适合在arm-cpu架构的服务器上使用

    洞察Linux系统:使用lsof命令探索打开的文件与端口

    Linux是一种开源的、基于Unix的操作系统内核,由林纳斯·托瓦兹(Linus Torvalds)在1991年首次发布。它遵循自由软件和开源开发的原则,任何人都可以自由地...7. **社区支持**:Linux有一个庞大的开发者和用户社区,为

    lsof 4.81源码

    在网上看到许多人将lsof的源码拿来卖分,像这种开源资源也要花资源分去下载,看着...export LSOF_INCLUDE="/ipc/DM8127/Source/ti_tools/linux_devkit/arm-arago-linux-gnueabi/usr/include" ./Configure linux make

    Linux下利用Lsof恢复误删文件的方法.docx

    误删文件是一种常见的错误,但是在 Linux 系统下,我们可以使用 Lsof 工具来恢复误删文件。以下是恢复误删文件的步骤: 1. 使用 Lsof 工具查找进程打开的文件信息,例如:`lsof | grep ls.txt` 2. 找到包含误删文件...

    lsof-4.82-4.el6.x86_64.rpm

    适于用linux centos 版本的操作系统,rpm格式的文件安装简单快捷

    linux下查看被缓存的文件工具

    在Linux操作系统中,管理和查看被缓存的文件是系统管理员和开发者日常工作中不可或缺的一部分。缓存文件通常是系统为了提高性能而存储在内存中的数据,它们可以是文件系统缓存、程序运行时的数据缓存或是网络请求的...

    前端开源库-lsof

    在信息技术领域,前端开发是构建Web应用程序不可或缺的一部分,而开源库则为开发者提供了丰富的工具和资源。`lsof`(List Open Files)是一个在Unix-like操作系统上广泛使用的命令行工具,用于查看系统中哪些进程...

Global site tag (gtag.js) - Google Analytics