LoginSignup
51
50

More than 5 years have passed since last update.

odコマンドを使用して特定プロセスの環境変数を綺麗に表示する

Posted at

serviceや別のシェルから起動されたプロセスがどんな環境変数で動いているのかを確認したいことが時々あります。
いままではcatを使って表示していましたが、odを使うと見やすいことに気づいたので共有しておきます。

動作確認環境

  • CentOS 6.6
  • CentOS 7.0

catによる環境変数の表示

実行中のプロセスに関連した情報は/proc/[PID]の下に格納されており、環境変数は/proc/[PID]/environで見ることができます。

$ cat /proc/[PID]/environ
LANG=ja_JP.utf-8USER=sheileLOGNAME=sheileHOME=/home/sheilePATH=/usr/local/bin:/usr/binMAIL=/var/mail/sheileSHELL=/bin/zsh...

この方法でも一応見ることができますが、各設定の区切りが¥0となっており、catで表示すると全て繋がって表示されてしまいます。この状態だとgrepなどでの絞り込みもしづらく、ちょっと不便に感じていました。

odによる環境変数の表示

odコマンドにはバイナリに含まれる文字列を表示する-Sオプションがあり、これを使うことで上述したenvironファイルを綺麗に表示することができます。

$ od -S1 /proc/[PID]/environ
0000000 LANG=ja_JP.utf-8
0000021 USER=sheile
0000035 LOGNAME=sheile
0000054 HOME=/home/sheile
0000076 PATH=/usr/local/bin:/usr/bin
0000133 MAIL=/var/mail/sheile
0000161 SHELL=/bin/zsh
...

オフセットも邪魔な場合には-Aオプションで消してしまいましょう。

$ od -S1 -An /proc/[PID]/environ
LANG=ja_JP.utf-8
USER=sheile
LOGNAME=sheile
HOME=/home/sheile
PATH=/usr/local/bin:/usr/bin
MAIL=/var/mail/sheile
SHELL=/bin/zsh
...
51
50
6

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
51
50