检查文件是否被另一个进程打开

检查文件是否被另一个进程打开

有没有办法检查给定名称的文件是否被某个进程(除了我们的进程)打开?

我在 FreeBSD 上需要这个。如果能支持 Linux 就好了。我用 Perl 写。

需要 root 访问权限的技术不适合。

答案1

您应该使用fstat命令,您可以将其运行为user

fstat实用程序识别打开的文件。如果显式打开文件,则认为该文件已被进程打开,该文件是该进程的工作目录、根目录、监狱根目录、活动可执行文本或内核跟踪文件。如果未指定选项,fstat 会报告系统中所有打开的文件。

相关内容