利用lsof去查看Unix/Linux进程打开了哪些文件

    今天用了一下lsof,发现这个linux的小工具,功能非常强大而且好用。

    我们可以方便的用它查看应用程序进程打开了哪些文件或者对于特定的一个文件,哪些进程打开了他 等等。

 

    在类Unix系统中,几乎可以说"Everything is a file" : 管道是文件,网络套接字(Sockets)是文件,目录是文件,设备是文件......

    下面列出几个常用的应用作为备忘:

    1)搜索被某一进程打开的相关文件:

      比如查看java进程(PID:5225)所打开相关文件的信息

      #lsof -p 5225

 

   2)查看被打开某一文件的相关进程信息:

     #lsof /proc

  

  3)查看网络连接

   查看监听端口25的进程:

   #lsof -i:25

 

 查看活动的连接:

  #lsof -i @192.168.1.171

 

  4)查看某个用户的打开的文件

 #lsof -u root(root用户打开的文件)

 #lsof -u ^root(非root用户打开的文件)

 

posted @   Chris Wang  阅读(11108)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
点击右上角即可分享
微信分享提示