Python 第一次之后的磁盘插入缓存

Python 第一次之后的磁盘插入缓存,python,linux,driver,device,ceph,Python,Linux,Driver,Device,Ceph,我需要开发一个类似磁盘热插拔的功能。我编写了一些udev规则来监视磁盘,以便在udev触发时执行一个python脚本 问题: 当我第一次拉磁盘时,lsblk、lsscsi、udev、megacli都可以监视,/dev/sda变为/dev/sdg,也可以触发udev并成功执行py脚本,第一次磁盘插入也正常 但是第二次或更多的时候,我拉了前面的/dev/sdg,lsblk、lsscsi、udev都无法感知,std输出列表也包含dev/sdg,并且udev没有找到删除事件,脚本也没有执行,megacl

我需要开发一个类似磁盘热插拔的功能。我编写了一些
udev
规则来监视磁盘,以便在udev触发时执行一个
python
脚本

问题:

当我第一次拉磁盘时,
lsblk、lsscsi、udev、megacli
都可以监视,
/dev/sda
变为
/dev/sdg
,也可以触发
udev
并成功执行py脚本,第一次磁盘插入也正常

但是第二次或更多的时候,我拉了前面的
/dev/sdg
lsblk、lsscsi、udev
都无法感知,std输出列表也包含
dev/sdg
,并且
udev
没有找到
删除事件
,脚本也没有执行,
megacli
可以找到缺少磁盘的地方

现在我需要
udev
实时监控磁盘插件来执行脚本,有人有这个问题的经验吗

我的
udev
规则:

KERNEL=="sd[a-z]", ACTION=="add", SUBSYSTEM=="block", RUN+="/usr/bin/python /root/disk_plug.py %k add"
KERNEL=="sd[a-z]", ACTION=="remove", SUBSYSTEM=="block", RUN+="/usr/bin/python /root/disk_plug.py %k remove"
这是我的测试脚本:
/root/disk\u plug.py

import sys
import time
disk = sys.argv[1]
event = sys.argv[2]
with open('/root/disk.txt', 'a') as f:
    msg = event + '-' + disk + '-' + str(time.time())
    f.write(msg + "\n")

在拔出之前试着装好