サービスを開始する前に /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

おすすめ記事