20
20

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

[Linux] 起動中のプロセスの環境変数を確認する

Posted at

シェルの環境変数はenvコマンドで確認できますが、そこから起動したプロセスであっても、必ずしも同じ環境変数を使っているとは限りません。ここでは起動中のプロセスが適用している環境変数の確認方法を紹介します

確認方法

基本的な方法

起動中の環境変数を確認するには /proc ディレクトリの environ を見ます

# cat /proc/%プロセスID%/environ

プロセスIDはpsコマンドなどで確認してください

実行例


root@vm-linux64:~# cat /proc/595/environ
CONSOLE=/dev/consoleSHELL=/bin/shTERM=linuxINIT_VERSION=sysvinit-2.88PATH=/sbin:/usr/sbin:/bin:/usr/binRUNLEVEL=3PWD=/PREVLEVEL=NSHLVL=1HOME=/BOOT_IMAGE=Linux_=/usr/sbin/crond

改行で見やすくする

値が'\0'区切りで連結されていますが、画面では一行に繋がって見えにくくなってます。
見やすくするには sed コマンドで改行に変えると良いでしょう

# sed -e 's/\x0/\n/g' /proc/%プロセスID%/environ

実行例


root@vm-linux64:~# sed -e 's/\x0/\n/g' /proc/595/environ
CONSOLE=/dev/console
SHELL=/bin/sh
TERM=linux
INIT_VERSION=sysvinit-2.88
PATH=/sbin:/usr/sbin:/bin:/usr/bin
RUNLEVEL=3
PWD=/
PREVLEVEL=N
SHLVL=1
HOME=/
BOOT_IMAGE=Linux
_=/usr/sbin/crond

特定の値のみ表示

grep で絞り込んで必要な値のみさせます

# sed -e 's/\x0/\n/g' /proc/%プロセスID%/environ |grep %変数名%

実行例


root@vm-linux64:~# sed -e 's/\x0/\n/g' /proc/595/environ |grep PATH
PATH=/sbin:/usr/sbin:/bin:/usr/bin
20
20
1

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
20
20

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?