如何查找程式開啟/讀/寫的所有檔案?

如何查找程式開啟/讀/寫的所有檔案?

只是想知道是否有適用於 Mac 的免費軟體可以檢查在給定軟體執行期間打開/讀取或寫入哪些文件,並像三圖一樣返回它們。我確信我過去見過類似的東西,但我不記得它的名字了。

先致謝!

答案1

你可能在想弗塞文特爾,但它只顯示更改的檔案(而不是剛剛讀取的檔案),並顯示所有更改而不僅僅是特定程式的更改。

其他可能的不完全答案:在活動監視器中,您可以「檢查」進程並(如果您擁有它)查看它開啟了哪些檔案。在終端機中,您可以使用該lsof命令列出所有進程開啟的檔案(如果您是管理員,則可以使用該命令sudo lsof查看不屬於您的進程)。另請查看終端命令fs_usagefilebyproc.dopensnooprwsnoop。最後,如果您有 Xcode(Apple 的開發人員工具套件),請查看儀器

答案2

弗塞文特爾也可以選擇包含剛剛開啟的檔案:

opensnoop列印進程開啟的檔案:

sudo opensnoop -n processname

答案3

對於 macOS Ventura 上的我來說,opensnoop雖然並沒有真正工作,但確實lsof完成了工作。

top -l 1     #find the process ID of the FortiClientUpdater
sudo lsof -p 18592     #look for a suspicious entry, in my case the last one
open /private/var/folders/w3/my9vhvh48xjb4h0059bc_ssh0000gn/T/fctupdate/obj_1_TGiK3k

這就是安裝程式的臨時位置。

相關內容