Systemd exec 在守护程序重新加载后仅工作一次

Systemd exec 在守护程序重新加载后仅工作一次

我有一个从 udev 规则启动的 systemd 服务:

[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 规则不相关(它在 USB 上连接我的 DSLR 相机时触发)。无论如何,这就是:

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在守护进程重新加载后多次运行?

相关内容