linux中查看进程打开的文件或文件对应的进程及网络状态的方法

发布时间:2019-09-27编辑:脚本学堂
linux中查看进程打开的文件或文件对应的进程及网络状态的方法,有需要的朋友可以参考下。

linux中查看进程打开的文件或文件对应的进程及网络状态的方法,有需要的朋友可以参考下。

1、查看进程“打开”的文件:
  1)pidof programe-name(获得想了解的进程(programe-name)的PID)
 或ps -aux|grep programe-name(获得想了解的进程(programe-name)的PID)
  找出进程的PID
  2)cd /proc/$PID/fd(会看见文件描述符
  3)ls -l
     得到文件描述符指向的实际文件,即当前进程打开的文件

2、查看进程“打开”的文件2:
 1)获得想了解的进程的PID方法同上
 2)lsof -c programe-name
     或lsof -p $PID

3、查看文件对应的进程:
 lsof file-name

4、lsof命令用法:
 lsof -c abc 显示abc进程现在打开的文件
  lsof abc 显示开启文件abc的进程
  lsof -i :22 显示22端口现在运行什么程序
  lsof -g gid 显示归属gid的进程情况
  lsof +d /usr/local/ 显示目录下被进程开启的文件
  lsof +D /usr/local/ 同上,但是会搜索目录下的目录,时间较长
  lsof -d 4 显示使用fd为4的进程
  lsof -i 用以显示符合条件的进程情况
  lsof -s 列出打开文件的大小,如果没有大小,则留下空白
  lsof -u username 以UID,列出打开的文件
 
5、查看网络状态:
lsof -Pnl +M -i4 显示ipv4服务及监听端情况
netstat -anp 所有监听端口及对应的进程
netstat -tlnp 功能同上