gpt4 book ai didi

rsync - udev 不会正确执行规则

转载 作者:行者123 更新时间:2023-12-01 09:16:58 25 4
gpt4 key购买 nike

udev 没有正确运行我的 bash 脚本。

这是我的规则:

ACTION=="add", KERNEL=="sd*1", SUBSYSTEM=="block", ATTRS{idVendor}=="0930", ATTRS{idProduct}=="6544", RUN="/usr/local/bin/usb-bmw-in"    
ACTION=="remove", KERNEL=="sd*1", SUBSYSTEM=="block", ATTRS{idVendor}=="0930", ATTRS{idProduct}=="6544", RUN="/usr/local/bin/usb-bmw-out"

下面是执行的脚本:

#!/bin/bash
echo timer > /sys/class/leds/led1/trigger
rsync --delete-after -c --preallocate -r /media/NAS/Sync/Musik/BMW/ /media/24366EC6366E9916/
umount /dev/sdc1
echo default-on > /sys/class/leds/led0/trigger
echo none > /sys/class/leds/led1/trigger

脚本应该点亮一个红色的 LED,表明它正在工作。然后它应该将我的汽车播放列表复制到 USB 内存棒并卸载设备。

完成后,它应该点亮绿色 LED 并关闭红色 LED。

红色 LED 正常亮起,rsync 命令也被触发,但仅此而已。红色 LED 仍亮着,设备仍处于安装状态,绿色 LED 尚未亮起。

当我手动运行脚本时,它工作正常。

最佳答案

实际上通过将两个 echo 命令移动到 umount 命令上方的底部并使用 setsid 在后台 shell 中重新启动脚本使其工作,正如 stackexchange 上的用户“Alives”所解释的那样:

https://unix.stackexchange.com/a/79545

关于rsync - udev 不会正确执行规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36204978/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com