在我的 Linux(BeagleBone Black 上的 Angstrom 发行版)上,我有一个 USB 加密狗,它显示为串行端口,默认情况下可用作/dev/ttyUSB0
我想启动一个守护进程,它将连接到串行端口并使其作为套接字可用。我有这个 USB 到插座桥接器的代码,它在手动启动时工作。
我希望它在系统启动时自动启动,假设 USB 加密狗已插入。我应该怎么做?
迄今为止的尝试:
systemd:我创建了一个带有条件
After: remote-fs.target
和的 systemd 服务After:syslog.target
,但是(似乎)USB 加密狗当时还没有准备好,并且守护程序的启动失败。是否有其他 systemd
targets
或services
条件,以便仅在 udev 完成设备安装并且网络准备好时启动守护程序?udev:我创建了一个 udev 规则,例如
KERNEL=="ttyUSB?", RUN+="/path/to/daemon.sh"
成功执行。但是守护进程(在该脚本中作为后台进程启动,带有“&”)似乎没有执行。从 udev 规则中分叉长时间运行的进程似乎也令人不悦。
正确的方法是什么?