gpt4 book ai didi

linux - Ubuntu Linux Udev 规则 : Is it possible to run program written in C through udev rules?

转载 作者:IT王子 更新时间:2023-10-29 00:37:11 24 4
gpt4 key购买 nike

我目前正在做一个项目,当插入 USB 设备时运行一个用 C 编写的程序。这可以用 udev 规则实现吗?

我目前可以在插入设备时运行 Hello World 脚本。但是,它不止一次地运行它。

当前路径:/etc/udev/rules.d/98-local.rules

当前规则:

SUBSYSTEMS=="usb", ACTION=="add", RUN+="/usr/local/bin/USB.sh"

脚本路径:/usr/local/bin/USB.sh

脚本:

 #!/bin/bash
echo 'Hello World!' >>"/home/<username>/Desktop/udev.out"
exit

我试过这样的方法来运行可执行文件:

 #!/bin/bash
usr/games/blackjack
exit

在终端中输入 usr/games/blackjack 可以工作,但是当插入 USB 设备时它不起作用。但是,我知道脚本正在运行,因为我已将它们合并到同一个文件中,并且已经创建了 hello world。

我还尝试从我的用户帐户运行可执行文件,如下所示:

SUBSYSTEMS=="usb", ACTION=='add", RUN+="/bin/su tyler -c '/usr/local/bin/USB.sh'"

但是,这也不起作用。

是设备权限问题还是无法运行可执行文件?

*注意:我已经在 http://reactivated.net/writing_udev_rules.html 阅读了 udev 规则的解释。广泛地。

最佳答案

如果你用C写程序,你可以使用libudev .它有简单的 API,允许枚举和监控设备。 Here你会找到很好的教程。

关于linux - Ubuntu Linux Udev 规则 : Is it possible to run program written in C through udev rules?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4787097/

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