任何有關此問題的幫助都會很棒。我感謝所有的貢獻!應用程序訪問的文件的名稱
讓我們說我正在運行守護進程,觀察具有鍵盤焦點的應用程序的行爲。我有它的PID和進程名稱。有什麼辦法可以查看該應用程序正在訪問哪些文件?
我在Objective-C,Cocoa和C編程。
謝謝!
編輯:
對不起,我應該澄清。我想從守護進程中以編程方式執行此操作。謝謝
任何有關此問題的幫助都會很棒。我感謝所有的貢獻!應用程序訪問的文件的名稱
讓我們說我正在運行守護進程,觀察具有鍵盤焦點的應用程序的行爲。我有它的PID和進程名稱。有什麼辦法可以查看該應用程序正在訪問哪些文件?
我在Objective-C,Cocoa和C編程。
謝謝!
編輯:
對不起,我應該澄清。我想從守護進程中以編程方式執行此操作。謝謝
有一個名爲lsof的命令行工具,它向您顯示每個打開的文件以及打開的程序。你可以看看它的來源,然後定期做同樣的事情。
雖然我不認爲您可以截取讀取和寫入,但不是不使用DTrace,它需要根權力。
'strace'不需要'root'權限並顯示所有文件訪問權限 – qrdl 2010-08-20 12:31:22
qrdl:這似乎需要Linux。 – 2010-08-20 13:34:45
使用活動監視器(來自/ Applications/Utilities)。
選擇您的過程 - 按檢查按鈕。
選擇打開文件和端口選項卡。
謝謝!但那不是我正在尋找的。檢查我的編輯。 – 2010-08-20 12:26:22
行 - 顯然,答案是「是」,因爲活動監視器(和「lsof」)會這樣做。不過,這並不容易。玩的開心! – 2010-08-20 12:31:43
沒錯。我想你是在間接地說,找到活動監視器的源代碼並從那裏開始。對不起,如果我誤解了:) – 2010-08-20 13:28:25
我不這麼認爲......你可以知道...... – 2010-08-20 12:05:34