Linux全般

説明 [#q10e0b32]

大量にエラーが吐かれたログのせいでディスクを消費してしまい、それを対処したときにrmしてもdfコマンド上では変化が無い場合、lsofコマンドにてdeleteなどの表示がされているプロセスを探す。

 # lsof | grep delete
 rsyslogd   3350      root    1w      REG             253,13         1554            268610772 /var/log/messages (delete)

このdeleteとなっているプロセスを下記コマンドで確認し、kill -HUPでそのログを掴んでいるプロセスをreloadすることでdfの表示が正常になる。

 # ps aux | grep messages
 # /bin/kill -HUP `cat /var/run/hoge.pid 2>/dev/null` 2>/dev/null || true
 ※これはlogrotateとかでも使用できる。