題:
記錄特定程序的所有IO活動
user1306322
2014-12-15 18:47:05 UTC
view on stackexchange narkive permalink

我正在尋找一種方法來找出程序讀取或修改的文件,並將所有內容保存到日誌文件中。

必備功能:

  • 按流程篩選或僅顯示活動
  • 顯示所訪問文件的完整路徑;
  • 顯示操作類型(讀/寫);
  • 實時寫入日誌。

操作時間會不錯,但不是必需的。

像Process Explorer這樣的應用程序會在一段時間內顯示文件句柄,但它們不提供日誌記錄,因此大多數操作都從顯示中丟失了,並且很難每秒自動將視圖保存到文件,因此這是不可行的。

操作系統是Windows 7。

關於[Process Monitor](http://technet.microsoft.com/zh-cn/sysinternals/bb896645.aspx)呢?你調查過了嗎?
您希望針對哪個OS進行此操作,是否希望將其部署到用戶計算機上,或者您正在測試一個特定程序?
@rrirower我無法運行它。它說:“ Process Monitor現在已過時,請改用Process Explorer”,然後關閉。我當時非常不高興。哦,等等,您剛剛鏈接到工作版本:D這實際上很棒!
我不知道為什麼。我只是在Windows 8.1上運行了它,然後正確運行了。您使用的是最新版本嗎?
您可以在@rrirower上發布答案。這是獲得我想要的東西的好工具。
二 答案:
rrirower
2014-12-15 22:34:37 UTC
view on stackexchange narkive permalink

Windows Sysinternals 提供了一個名為 Process Monitor的工具。該名稱很不幸,因為它經常與“ Process Explorer”混淆。但是,它具有您要求的功能,包括過濾和日誌記錄。

Steve Barnes
2014-12-15 20:15:51 UTC
view on stackexchange narkive permalink

您可以使用 python + psutil監視給定進程,包括打開了哪些文件以及計數器所寫入和讀取的字節數,並將結果記錄到文件中

psutil文件io計數器位於 Process io_counters()中,並且在 process open_files()中有打開的文件列表>。

python和psutil都是跨平台的免費開放源代碼工具。



該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...