2010-12-13 12 views

答えて

5

/proc/<pid>/mapsの内容を調べて、各プロセスにマップされているファイルを確認することができます。あなたは、すべてのプロセスを検査する必要がありますが、それはそれが鳴るよりも簡単です:

$ grep -l /lib/libnss_files-2.11.1.so /proc/*/maps 
/proc/15620/maps 
/proc/22439/maps 
/proc/22682/maps 
/proc/32057/maps 

Linuxのファイルシステム/proc、私の知る限りでのみ動作。

3

迅速な解決策等だけでなく、.soファイルが、他のファイルディレクトリのために、マウントポイントをこれは動作するはずlsofコマンドに

[[email protected]]# lsof /lib/libattr.so.1 
COMMAND  PID USER FD TYPE DEVICE SIZE NODE NAME 
gdm-binar 11442 root mem REG 8,6 30899 295010 /lib/libattr.so.1.1.0 
gdm-binar 12195 root mem REG 8,6 30899 295010 /lib/libattr.so.1.1.0 

を使用することです

N.B. lsofにはファイルを使用するすべてのプロセスが表示されるため、*.soファイルを開き、実際には使用しないプロセスであれば、誤検出の可能性は非常に低くなります。これが問題の場合は、Marcelo's answerが行く方法です。

+0

これは素晴らしいヒントです。ありがとう。 –

0

その後、例えば、ライブラリ名を探し関心

ldd * >ldd_output 
vi ldd_output 

のすべてのディレクトリで実行します"aLib.so"。これは、たとえばにリンクされたすべてのモジュールを示します。 "aLib.so"

関連する問題