[systemd-devel] Starting service conditionally and retrying when failure
Mantas Mikulėnas
grawity at gmail.com
Thu Oct 5 05:38:33 UTC 2017
On Thu, Oct 5, 2017 at 7:51 AM, sdrb <sdrb at onet.eu> wrote:
> Hi,
>
> I'd like to ask how to achieve following functionality in systemd:
>
> I'd like to start alsa-restore.service only once just after one of the
> specified files appears. Those file matches: /dev/snd/control*.
>
> For now I have something like this:
>
> [Unit]
> Description=Save/Restore Sound Card State
> ConditionPathExistsGlob=/dev/snd/control*
> After=sysinit.target
>
> [Service]
> Type=oneshot
> RemainAfterExit=true
> ExecStart=-/sbin/alsactl restore -f /etc/asound.state
>
> [Install]
> WantedBy=multi-user.target
>
>
> but during the start when there is no any of /dev/snd/control* files - the
> condition is not meet and the service is not going up.
> Those files appears later.
>
> So that what I'd like to achieve is to wait for appearing of those files
> and then starting alsa-restore service.
>
Isn't that exactly what ALSA's
standard /usr/lib/udev/rules.d/90-alsa-restore.rules does?
--
Mantas Mikulėnas <grawity at gmail.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/systemd-devel/attachments/20171005/6d5774b5/attachment.html>
More information about the systemd-devel
mailing list