如何捕获 Linux 上的挂载事件?

如何捕获 Linux 上的挂载事件?

如果 USB 驱动器发生挂载或卸载,我希望以某种方式收到通知。

目前我使用 udev,然后等待 x 秒 /proc/mounts 中的新条目。如果安装是自动的,这可以正常工作。但是,如果用户手动卸载/安装设备,这将不起作用。

有没有办法捕捉这些事件?

答案1

如果轮询没问题,您可以查看以下时间mtab

import time, os
last = None
current = None

for x in range(0,60):
    if last == current:
        current = os.stat('/etc/mtab').st_mtime
        print('Current Updated: ', current)
        print('No Changes...')
    else:
        last = current
        print('Last Updated: ',last)
        print('Something was mounted or unmounted')
    time.sleep(1)

您还可以使用filecmpdifflib来查看是否有任何更改,并分析如果采用此路线会发生什么样的更改。

相关内容