Linux 如何知道哪些进程访问了文件?
我的操作系统是linux 我的文件位于/etc,Linux 如何知道哪些进程访问了文件?,linux,file,process,monitor,Linux,File,Process,Monitor,我的操作系统是linux 我的文件位于/etc, 它的完整路径类似于/etc/AAA 任何工具或命令都可以告诉我在一段时间内由哪个进程访问文件。 例如 凌晨1:10,处理写入/etc/AAA 凌晨3:50,进程B读取/etc/AAA 我需要知道访问/et/AAA的所有进程id 谢谢。统计给你一些信息 $ stat test.txt File: `test.txt' Size: 166 Blocks: 1 IO Block: 65536 regu
它的完整路径类似于/etc/AAA 任何工具或命令都可以告诉我在一段时间内由哪个进程访问文件。 例如 凌晨1:10,处理写入/etc/AAA 凌晨3:50,进程B读取/etc/AAA 我需要知道访问/et/AAA的所有进程id
谢谢。统计给你一些信息
$ stat test.txt
File: `test.txt'
Size: 166 Blocks: 1 IO Block: 65536 regular file
Device: 6a81ccb1h/1786891441d Inode: 6755399442667785 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 1000/ PC_01) Gid: ( 513/ None)
Access: 2014-07-16 16:03:18.208462800 +0200
Modify: 2014-07-16 16:03:18.209462900 +0200
Change: 2014-07-16 16:03:18.209462900 +0200
Birth: 2014-07-16 16:03:18.208462800 +0200
没有工具可以做到这一点。要查看哪个进程当前打开了文件,可以使用
fuser
和lsof
要获取更改的历史记录,您需要运行一个进程来监视文件系统的更改。您可以使用来构建它
相关的:
auditctl -w /etc/AAA -p r -k mywatch
然后,您可以使用comamnd查看结果:
ausearch -k mywatch
或者查看audit.log文件(在某些系统上位于/var/log/audit中)-1
stat
不会显示哪个进程接触了文件。另请参阅