利用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 @ 2010-04-09 00:09  Chris Wang  阅读(11100)  评论(0编辑  收藏  举报