2016-03-24 12 views
2

udevはbashスクリプトを正しく実行しません。udevは正しくルールを実行しません

HERESに私のルール:

#!/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 

スクリプトがその作業ことを示し、赤が主導点灯します:ここに

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" 

そして

が実行されますスクリプトです。その後、私の車プレイリストをUSBスティックにコピーし、デバイスをアンマウントする必要があります。

完了したら、緑色のLEDが点灯し、赤色のLEDが消灯しているはずです。

赤色のLEDが正しく点灯し、rsyncコマンドも起動されますが、それはそれです。 赤いLEDはまだ点灯していますが、デバイスはまだマウントされていて、緑色のLEDは点灯していません。

スクリプトを手動で実行すると、正常に動作します。

答えて

0

は実際umountコマンド上記下部に2つのエコーコマンドを移動させることによって、それが働いて作られstackexchangeにユーザ「アライブ」で説明したようにバックグラウンドがsetsidシェルでスクリプトをリニューアル:

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

関連する問題