Ansatzの備忘録

勉強したことあるいはふと思い立ったこと

シェルワンライナー160本ノック問題114

問題114 共有ライブラリの探索

コマンドがどのような共有ライブラリを使っているか調査する問題だった。/proc以下のプロセスに対応したディレクトリの中に共有ライブラリlibライブラリ名.soがあるのだと思い込んで検索をしたが、実際には(s)mapというファイルの中に共有ライブラリのファイル名が書き込まれているだけなので検索しても出てくるはずがなかった。勉強になった。

解答例は

cat /proc/(プロセス名)/maps | awk '{print $NF}' | grep '\.so$' | sort | uniq

となる。ただしwslだとmapsがないのでsmapsで考える必要がある。