2011-10-19 51 views
1

是否有可能(如果有的話,怎麼樣?)來讀取一個正在運行的進程的環境變量。更具體地講,我關心的是通過這個過程本身設置環境變量(使用SETENV()或類似),而不是當進程啓動設置一般用戶會話的環境變量。OS X:附加到正在運行的進程,並閱讀其環境變量

我認爲DTrace是這項工作的工具,但我在網上找到的唯一解決方案(從this mailing list thread)似乎特定於Solaris,因爲腳本無法在我的Mac上執行。

或許儀器某種程度上暴露了這個功能,我只是還沒有找到它了嗎?

我也試過Tasks Explorer,這是一個不錯的小應用程序,它顯示包括環境變量的進程信息,但它不顯示任何由進程本身設置的環境變量,這就是我所追求的。

任何幫助將不勝感激!

+0

我的問題是類似的,但我更關心的是訪問的環境變量即使沒有使用的一些樣調試器。 – Kal

回答

0

我想你可以嘗試下方式:

  1. 注入你dylib到正在運行的進程。
  2. 要注入dylib讀取環境變量。
  3. 通過IPC(RPC,共享存儲器等)發送環境變量到你的應用程序。

順便說一句,我有一個計劃,添加這種類型的環境變量探索到我的任務資源管理器。

下一頁鏈接將幫助您與注射: