プロセスの環境変数の確認
875 ワード
env
コマンドを使用して、システムの現在の環境変数を表示します.実行中のプロセスの環境変数を表示したい場合があります.Linuxシステムの下で、プロセスの環境変数情報は
/proc//environ
ファイルで表示できます.$ cat /proc//environ
このコマンドの出力フォーマットは読みにくく、すべての情報が同じ行に詰まっています.
tr
コマンドを使用して空の文字を改行に置換すると、すべての環境変数が行で表示されます.$ cat /proc//environ | tr \\0 \
Mac OSXシステムの下では、印刷プロセスの環境変数を示す
-E
のオプションを使用できます.$ ps -p -wwwE
しかし、上記の方法はすべての状況をカバーしていません.プロセスの環境変数は、プロセス初期化時にローダによってロードされた環境変数(システム、親プロセス、または
exec
システムから呼び出されたパラメータ)と、プロセス実行中にsetenv
関数によって動的に設定または変更された環境変数の2つの部分から来ます.前のコマンドには、第1の部分の環境変数のみが表示されます.プロセスの環境変数は、グローバル変数
char **__environ
に保存されます.プロセスによって動的に変更された環境変数を表示するには、まず、このプロセスのシンボルテーブルが必要であり、ptrace
システム呼び出し(gdbの使用など)によって表示されます.