如何在启动服务之前等待 /dev/video0

如何在启动服务之前等待 /dev/video0

我可以编写依赖于挂载的单元文件,因为我可以列出它们然后添加到Requires=xxx,例如:

# systemctl list-units | grep data
mount-data.service    loaded active exited    Manage the data partition

我想做的是将网络摄像头插入设备时启动服务。systemctl list-units | grep video0什么也不返回。有人可以简单地解释一下我,我该怎么做才能确保这一点?我真正想要发生的是当 、 等出现时启动/dev/video0服务/dev/video1

我从中得到了线索这个帖子,我需要编写一个 udev 规则,但我不知道这里到底需要做什么。帮助?

答案1

我明白了这一点。首先,将以下行添加到我使用的 udev 规则文件夹中的一个文件中/lib/udev/rules.d/99-systemd.rules

KERNEL=="video0", SYMLINK="video0", TAG+="systemd"
KERNEL=="video1", SYMLINK="video1", TAG+="systemd"

然后您可以绑定到服务单元文件中的视频设备:

[Unit]
BindsTo=dev-video0.device
After=dev-video0.device

相关内容