小编Whi*_*oln的帖子

udev 脚本不在后台运行

我无法让 udev 运行的脚本在 USB 插入时在后台运行。

我的 udev 规则似乎有效,因为它肯定会调用脚本,但是无论我做什么,我都无法让 bash 脚本在后台运行,因此它会阻塞。

以供参考:

我的 udev 规则:

ATTRS{idVendor}=="125f", ATTRS{idProduct}=="db8a", SYMLINK+="usb/adata%n", ENV{XAUTHORITY}="/home/abe/.Xauthority", ENV{DISPLAY}=":0", OWNER="abe", RUN+="/home/abe/bin/usb-adata_udev.sh"

我的 bash 脚本:

#!/bin/bash

if [[ $ACTION == "add" ]]; then
    # I've tried many variations on this, none seem to work
    (su abe /bin/bash -c "/home/abe/Documents/Programs/USB\ Sync/usb-in.sh") &
fi

if [[ $ACTION == "remove" ]]; then
    /home/abe/Documents/Programs/USB\ Sync/usb-out.sh &
fi
Run Code Online (Sandbox Code Playgroud)

后台脚本:

#!/bin/bash

#echo $ACTION > "/home/abe/Desktop/test.txt"

if [[ ! -d "/media/abe/ABE" ]]; then
    # for testing
    sleep 10 …
Run Code Online (Sandbox Code Playgroud)

bash scripts usb udev

5
推荐指数
1
解决办法
5312
查看次数

标签 统计

bash ×1

scripts ×1

udev ×1

usb ×1