Systemd exec는 데몬을 다시 로드한 후 한 번만 작동합니다.

Systemd exec는 데몬을 다시 로드한 후 한 번만 작동합니다.

udev 규칙에서 시작된 시스템 서비스가 있습니다.

[Unit]
Description=Open DSLR camera device

[Service]
ExecStart=/bin/sh -c "/tmp/test.sh"

/tmp/test.sh아직 많은 일이 이루어지지 않았습니다:

#!/bin/sh
echo "qwer" >> /tmp/dslr-udev-test.txt

udev 규칙이 관련이 없다고 생각합니다(내 DSLR 카메라가 USB에 연결될 때 트리거됩니다). 어쨌든, 여기 있습니다:

SUBSYSTEM=="usb", ACTION=="add", ATTR{product}=="Canon Digital Camera", TAG+="systemd", ENV{SYSTEMD_WANTS}="dslr-device.service"

카메라를 실행 sudo systemctl daemon-reload하고 열면 파일에 /tmp/dslr-udev-test.txt새로운 콘텐츠가 표시됩니다. 하지만 딱 한 번만! 카메라를 껐다가 다시 켜면 새 콘텐츠가 표시되지 않습니다.

다시 실행한 후 sudo systemctl daemon-reload카메라를 열면 파일에 새 콘텐츠가 표시되고, 카메라를 다시 시작하면 더 이상 콘텐츠가 표시되지 않습니다.

ExecStart데몬을 다시 로드한 후 서비스가 여러 번 실행되지 않는 이유는 무엇입니까 ?

관련 정보