[英]How to monitor which processes access a particular file in Unix?
我有一个文件,很多进程(和进程线程)正在访问它。
我想监视该文件以获取所有进程尝试访问该文件的列表。 能够记录时间戳对于日志记录来说也是非常好的,尽管我可以没有它。
是否有任何类似的Unix实用程序?
如果不存在这样的实用程序,我应该如何使用脚本(shell,Perl)或程序(C,C ++)对其进行编程?
在Linux下, inotify可能就是你要找的东西。
我认为您正在寻找的基本功能是在UNIX命令fuser
。
这将告诉您正在使用文件(或端口,如果您喜欢)的进程。
FAM - 文件更改监视器http://oss.sgi.com/projects/fam/或Gamin http://people.gnome.org/~veillard/gamin/
可能会帮助你(gamin似乎保持不变,而我不能对FAM说同样的话)。
您可以将您的应用程序附加到FAM / Gamin,然后如果观察到的文件发生了什么,您将收到通知。 有关详细信息,我建议: http : //techpubs.sgi.com/library/tpl/cgi-bin/getdoc.cgi?coll = 0650&db = bks&fname = / SGI_Developer / books / IIDsktp_IG / slagi-html / ch08.html
你可能想看看lsof
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.