pig*_*ger 4 windows linux io windows-10
您可以使用进程监视器轻松观察到程序正在执行 I/O 磁盘操作。有没有一种简单的方法可以准确观察每个进程正在读取/写入哪些文件?
欢迎 Windows/Linux 解决方案!
在 Windows 上,您将使用一个字面上称为Process Monitor或简称 ProcMon 的应用程序。它捕获所有文件和注册表访问 \xe2\x80\x93 不仅仅是“当前”状态,还捕获每个单独的操作。
\n这种类型的工具特别有用,因为许多文件可以快速打开-读取-关闭,而不是长时间保持打开状态。
\nProcMon 的大致 Linux 等效项是strace. 要查看所有与文件相关的系统调用:
strace -e file /bin/chmod a+w test.txt\nRun Code Online (Sandbox Code Playgroud)\n其他类似的工具有perf trace和ltrace。我认为BSD 有ktruss。
bpftrace高度灵活的系统跟踪可以通过SystemTap来完成stap(两者都与 Solaris 类似dtrace)。不过,他们需要一段时间来学习。有关的。
Linux审计子系统auditctl可用于跟踪特定文件的操作,无论它们是通过哪个进程完成的。例如,您可以查看什么正在访问您的 ~/.ssh/id_rsa 私钥。
(类似地,诸如 AppArmor 之类的 LSM 可以在“抱怨”或“宽容”模式下运行,在这种模式下,它们仅记录将被拒绝的操作,但实际上并不拒绝它们。)
\nfanotify子系统可用于获取正在访问的所有文件的系统范围的消防源,例如使用该fatrace工具。(它类似于 inotify,它是针对每个目录的;inotifywait -rmq ~/foo会递归地监视该目录。)
| 归档时间: |
|
| 查看次数: |
1632 次 |
| 最近记录: |