서비스를 시작하기 전에 / dev / video0를 기다리는 방법


11

마운트에 의존하는 단위 파일을 작성할 수 있는데, 파일을 나열한 다음 다음과 같이 추가 할 수 있기 때문입니다 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 규칙을 작성해야하지만 여기서 정확히 무엇을 해야하는지 모르겠습니다. 도움?

답변:


11

나는 이것을 알아 냈습니다. 먼저 다음 줄을 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
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.