かめのはこ

とあるエンジニアのメモ帳です

Linuxで掴んでるプロセスを調べる

fuser -va ファイル(ディレクトリ)
で掴んでるプロセスを参照できる

ログファイルのスイッチの際とか
マウント外したいときとか、
ゾンビプロセスのせいでできない時とかに使うのだろうきっと。


検証してみる

echo "test" > /tmp/hoge.log
vi /tmp/hoge.log

で開いたままにして

もうひとつターミナルを起動して

# fuser -va /tmp/hoge.log を叩いてみる
                     USER        PID ACCESS COMMAND
/tmp/hoge.log:

 
。。。何もでない
vi自体はswpファイルを作っているのでそっちをみてみる

# fuser -va /tmp/.hoge.log.swp
                     USER        PID ACCESS COMMAND
/tmp/.hoge.log.swp:  tsuchiya  17287 F.... vi

おぉいた!!
PIDのプロセスを確認してみると

0 S tsuchiya 17287 16873  0  80   0 -  2140 poll_s 16:28 pts/4    00:00:00 vi /tmp/hoge.log

たしかにviのプロセスだった

で次はkillしてみよう

fuser -k /tmp/.hoge.log.swp

1 強制終了


。。。おぉ落ちた!!

たけどターミナルの表示がなんか不安定になった
多用はせずに、ほんとどうしようもない時にだけ使うことにしよう

※強制的に落としたのでゴミ掃除はお忘れなく

rm /tmp/.hoge.log.swp