devmonを起動しっぱなしにするとメモリリークしているように見えます。

 

止めようとしても止まらず。

 

[root@example ~]# /etc/rc.d/init.d/devmon stop

Stopping Devmon:                                           [失敗]

 

プロセス見るとこんな感じ。

 

[root@example ~]# ps aux | grep devmon

root      2636  0.6  0.5  15132 10852 ?        S    Jan01 705:24 devmon[master]

root     16922  1.7  0.4  15132 10144 ?        S   00:00   0:00 devmon

root     16923  0.0  0.4  15132  9552 ?        S    00:00   0:00 devmon

root     16924  0.0  0.4  15132  9552 ?        S    00:00   0:00 devmon

root     16925  0.0  0.4  15132  9552 ?        S    00:00   0:00 devmon

root     16926  0.0  0.4  15132  9552 ?        S    00:00   0:00 devmon

 

killしてやるとゾンビになりますが、徐々に消えていきます。

 

[root@example ~]# ps aux | grep devmon

root      2636  0.6  0.5  15132 10852 ?        S    Jan01 705:24 devmon[master]

root     16924  0.0  0.0      0     0 ?        Z    00:00   0:00 [devmon] <defunct>

root     16925  0.0  0.0      0     0 ?        Z    00:00   0:00 [devmon] <defunct>

root     16926  0.0  0.0      0     0 ?        Z    00:00   0:00 [devmon] <defunct>

 

全部消えた後にdevmon起動するとメモリリークは解消していました。

 

devmonのhosts.dbファイルの更新は、

./devmon --readbbhosts

ですが、更新してもDBファイルはバイナリのため、中身の確認はできないとお考えですか?
stringsコマンドのバイナリ中の文字列を出力する方法が効果的に使えます。

strings hosts.db すると、

main_utm_01
192.168.10.1
Fortinet
Fortigate-300C
public
・・・(略)

のように5行ごとに、DBの中身が確認できます。
これだけ表示できればdevmonの設定確認には充分です。