首页 / LINUX / linux – 监视文件系统活动
linux – 监视文件系统活动
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了linux – 监视文件系统活动,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1385字,纯文字阅读大概需要2分钟。
内容图文
说,我有一个程序,我想监视它的文件系统活动(创建/修改/删除了哪些文件/目录等).这个程序可能会产生进一步的进程,因此,我想得到的活动这些衍生过程也是如此.
我应该怎么做呢?
解决方法:
您可以使用strace:
strace -f -e trace=file command args...
strace跟踪系统调用,并在发生标准错误时将它们的描述打印出来. -f选项告诉它也跟踪子进程和线程. -e允许您修改它将跟踪的调用:-e trace = file将记录每次使用open,unlink等,但不记录非文件操作.
如果要查看从文件中读取和写入的内容,请将其更改为-e trace = file,read,write;你可以列出你想要在那里检查的任何其他电话.如果你完全放弃了这个论点,那么每个系统都会调用它.
输出是这样的(我在跟踪的shell中运行了mkdir / tmp / test):
[pid 1444] execve("/usr/bin/mkdir", ["mkdir", "/tmp/test4"], [/* 33 vars */]) = 0
[pid 1444] access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
[pid 1444] open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
[pid 1444] open("/usr/lib/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
[pid 1444] open("/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 3
[pid 1444] mkdir("/tmp/test", 0777) = 0
[pid 1444] +++ exited with 0 +++
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=1444, si_status=0, si_utime=0, si_stime=0} ---
您可以使用-o filename登录文件而不是终端,并使用-v使输出(偶数)更详细.如果更有用,也可以使用-p PID附加到已存在的进程.
如果您希望以编程方式执行此操作,而不是检查自己,请查看ptrace call,这是建立在strace上的内容.
内容总结
以上是互联网集市为您收集整理的linux – 监视文件系统活动全部内容,希望文章能够帮你解决linux – 监视文件系统活动所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。