繁体   English   中英

如何监视哪些进程在Unix中访问特定文件?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM