pargs でプロセスの環境変数を見る

ps とか w とかで確認して、、、なんか長時間動いているプロセスがあるけど、相対パスでコマンドが表示されていて、よくわからんときに使っています。


$ w
...
hoge pts/8 21Jan09 1 197:37 7 /usr/local/bin/perl ./sample.pl

これなんだ?とりあえず kill しとく? => 確認します。

ということで、プロセスIDを pargs につっこみます。(普段は psとgrep でPIDとってますがw)


$ pgrep sample.pl
17415
$ pargs -e 17415
envp[0]: SHELL=/bin/bash
envp[1]: TERM=vt100
...
envp[16]: PWD=/export/home/hoge/work/perl/Fcntl
envp[17]: EDITOR=vi
envp[18]: LANG=C
...
envp[27]: _=./sample.pl
$ ls /export/home/hoge/work/perl/Fcntl/
sample.pl
$

pargs -e [pid] で環境変数が表示されます。
ざっとみて、PWDとかいろいろわかります。
今回のは、Fcntlでの排他ロックをちょっと試験しっぱなしのプロセスでした。

Sunのドキュメントにはセットで preap のコマンドが書いてあります。
ゾンビを消してくれる画期的(?)なコマンドですが、いまだに使ったことがない。。。
(Linuxの保守しているサーバをのぞくと、ゾンビがいっぱいいるんだけどな〜)


pargsは、Solarisのコマンドですが、、、google先生に聞くと、某perl版のxargsなとこに先にたどり着く?