1

実行中のプロセスの環境変数を読み取ることは可能ですか (可能であればどのように?)。より具体的には、プロセスの起動時に設定される一般的なユーザー セッション環境変数ではなく、プロセス自体によって設定される環境変数 (setenv() などを使用) に関心があります。

私は DTrace がこの仕事のツールになると考えましたが、オンラインで (このメーリング リストのスレッドから) 見つけた唯一の解決策は、スクリプトが私の Mac で実行できないため、Solaris に固有のもののようです。

おそらく、Instruments はこの機能を何らかの方法で公開していますが、私はまだそれを見つけていません。

また、素敵な小さなアプリケーションであるTasks Explorerも試しました。環境変数を含むプロセス情報が表示されますが、プロセス自体によって設定された環境変数は表示されません。

どんな助けでも大歓迎です!

4

1 に答える 1

0

次の方法を試すことができると思います:

  1. 実行中のプロセスに dylib を挿入します。
  2. 注入された dylib から環境変数を読み取るため。
  3. IPC (RPC、共有メモリなど) を介して、環境変数をアプリケーションに送信します。

ところで、このタイプの環境変数の探索をタスク エクスプローラーに追加する計画があります。

次のリンクは、インジェクションに役立ちます。

于 2011-12-01T02:17:16.153 に答える