背景
psコマンドを実行したら以下のような表示になり、この unicorn を何?出どころはどこ?となりました。
$ ps aux | grep unicorn foobar 4856 0.0 0.1 86892 17952 ? Sl 2月20 0:02 unicorn master -c unicorn_config.rb -D
調べ方
/proc 配下に移動する
プロセスID が 4856 ですので、まずは /proc/4856
に移動します。
$ cd /proc/4856
いくつかのファイルやディレクトリ内を調べる
/proc/4856
配下には多くのファイルやディレクトリがあります。今回の目的では以下のものを調べるとよいのではないでしょうか。
cmdline
cat
すると、実行されているコマンドが表示されます- 区切り文字はNULLであるので注意です
cwd
- このディレクトリ以下は、元のプロセスが実行されている場所と同じ構造です
今回は cwd
を調べる
今回は /proc/4856/cwd
を以下のように調べました。
$ cd /proc/4856/cwd $ ls -la 合計 120 drwxrwxrwx 8 root root 4096 2月 20 11:19 ./ drwxr-xr-x 5 root root 4096 3月 2 10:14 ../ drwxr-xr-x 2 root root 4096 2月 8 10:38 .bundle/ drwxr-xr-x 8 root root 4096 2月 8 10:37 .git/ -rw-r--r-- 1 root root 943 2月 8 10:37 .gitignore -rw-r--r-- 1 root root 214 2月 8 10:37 Gemfile -rw-r--r-- 1 root root 1457 2月 8 10:38 Gemfile.lock -rw-r--r-- 1 root root 1069 2月 8 10:37 LICENSE -rw-r--r-- 1 root root 329 2月 8 10:37 README.md (中略) -rw-r--r-- 1 root root 316 2月 8 10:44 unicorn_config.rb
unicorn_config.rb
が見つかりましたのでこのディレクトリで間違いがなく、unicorn_config.rb
の内容や README.md
の内容を見ることで場所が判明しました。
備考
もっといい方法や、OSS がありそうな気がしています*1。
参考
*1:が、これを実行する機会があんまりないと思うのでこの記事の内容でいいかな