如果 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)
您还可以使用filecmp
或difflib
来查看是否有任何更改,并分析如果采用此路线会发生什么样的更改。