2012-01-08 5 views
4

私はここでいくつかの同様の質問を見つけましたが、今はどれも動作しません。Linuxでmount/umountドライブを確実に監視するには?

/etc/mtabのモニタリング(inotify)は、現在/proc/mountsに似ているため動作しません。 udisksによる監視では、手動でマウント/アンマウントされたドライブは検出されません。 Netlinkソケットも動作しません(マウント/ umountアクションなし)。

マウントとアンマウントを監視する実際の作業方法は何ですか?

P.S. 私は名前空間のマウントについて気にしません。ただグローバルです。

+0

'/ etc/mtab'は' mount -n'できるので信頼できません。私は唯一の方法は、マウントsyscallsのカーネルレベルのトレースを使用することだと思います...あなたはこれを行う方法を確認していない。 – fge

+0

/proc/mountsを監視できますか? – Dave

+0

@Daveの問題は、最近のLinuxディストリビューションでは、/ proc/mountsがself/mountsへのシンボリックリンクです... – fge

答えて

3

私はudevがおそらくマウントを監視するために使用可能であるべきだと考えます。

+0

間違いなくです。 –

2

ポーリングなしで/ proc/mountsを監視できます。それをexceptfdsリストに入れて選択すると、 は毎回ファイルの先頭を探します。ここではPythonでの簡単なデモですが、C:

f = open("/proc/mounts") 
while True: 
    r,w,x = select.select([],[],[f]) 
    f.seek(0) 
    print f.read() 
関連する問題