我有一个Sky无线传感器节点和一个打印节点输出的脚本。
sudo ./serialdump-linux -b115200 /dev/tmotesky1
如果我在我的电脑检测到节点之前启动此脚本,则会出现以下错误:
/dev/tmotesky1: No such file or directory
但是,如果我等待20秒,我会错过最初的打印(这很重要)。
有没有办法检测/ dev / tmotesky1是否存在? 像
这样的东西while [ ! -f /dev/tmotesky1 ] ; do sleep 1; print 'Waiting...'; done
提前致谢!
答案 0 :(得分:0)
您的代码表明您正在使用Linux,您可以使用热插拔机制。
在通用系统上,您可以编写一个udev规则( - >请参见udevadmin monitor -e
当您连接设备时会发生什么情况)程序或将东西写入管道。使用systemd时,您可以启动服务(请参阅man systemd.device
)。
在小型/嵌入式系统上,可以编写自定义/sbin/hotplug
程序(在/proc/sys/kernel/hotplug
中设置),而不是使用udev
。