监视在Linux上打开的进程文件(实时)

XYZ进程打开的文件可以通过该命令find

ls -l /proc/PID/fd 

无论如何,可以以更为互动的方式完成,如每隔x秒钟自动刷新一次?

谢谢。

尝试watch命令:

 watch -n 10 ls -l /proc/$$/fd 

手表很好。

你可以使用一个老学校while循环:

 while : do ls -l /proc/$$/fd sleep 10 done 

watch是基于debian系统的procps软件包,以及RedHat派生系统上的procps rpm。

你可以把lsofwatch结合起来。

例如, watch "lsof -p 1234"会每2秒给你一个pid 1234所有打开文件的列表。 你可以改变一些参数来满足你的需求。

如果要在打开文件时查看每个文件,可以使用strace进行过滤。 例如:

 strace -p _pid_of_app_ -e trace=open,close