Linuxでプロセスを実行したときの環境変数を知りたい場合は、/proc/[pid]/environ
ファイルで確認できます。
* [pid] プロセスID
ただ、各項目がNULLで区切られているので、cat
などで表示しても見にくいです。
# cat /proc/18458/environ LANG=CPATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/binNOTIFY_SOCKET=/run/systemd/notify
以下のコマンドで見やすくすることができます。
その1:stringsを使う
strings /proc/[pid]/environ
strings
コマンドは、バイナリフィアルや得体のしれないファイルから文字列を拾ってくれます。
何のファイルかの見当をつけるのにも使えます。
例:
# strings /proc/18458/environ LANG=C PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin NOTIFY_SOCKET=/run/systemd/notify
その2:trを使う
cat /proc/[pid]/environ | tr "\000" "\n"
tr
コマンドでNULLコードを改行コードに変換します。
例:
# cat /proc/18458/environ | tr "\000" "\n" LANG=C PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin NOTIFY_SOCKET=/run/systemd/notify
以上、プロセスを実行した時の環境変数を調べる方法の紹介でした。