[Linux] プロセスを実行した時の環境変数を知りたい

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

以上、プロセスを実行した時の環境変数を調べる方法の紹介でした。

タイトルとURLをコピーしました