[systemd-devel] Behavior of BindsTo when stopping a service
Andrei Borzenkov
arvidjaar at gmail.com
Sat Jan 27 19:22:56 UTC 2018
26.01.2018 05:11, Amit Saha пишет:
> Hello,
>
> I have a systemd service - drainconnections which I want to to make sure
> finishes stopping before systemd starts stopping another service. What I
> also want is to if I stop supervisord service, drainconnections should be
> stopped first.
>
> It seems like BindsTo is what I need for establishing the coupling between
> the two units.
If your description of services relationship is accurate and complete,
BindsTo is too strong here; you really need just PartsOf.
> The following unit file describes drainconnections:
>
>
> [Unit]
> Description=Drain Connections
> After=supervisord.service
> BindsTo=supervisord.service
>
> [Service]
> Type=oneshot
> RemainAfterExit=True
> ExecStart=/bin/true
I think recent sytsemd relaxes requirement, so you can omit ExecStart here.
> ExecStop=/usr/bin/touch /var/shuttingdown1
> ExecStop=/usr/bin/sleep 60
> ExecStop=/usr/bin/touch /var/shuttingdown2
>
> [Install]
> WantedBy=multi-user.target
>
>
> In addition, I also needed to add BindsTo=drainconnections to the
> supervisord service.
>
This will create dependency loop with your unit definition shown above.
> Things work as desired for me considering the above configuration.
>
> Am I on the right track here? Thanks in advance.
>
> Best Wishes,
> Amit.
>
>
>
> _______________________________________________
> systemd-devel mailing list
> systemd-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/systemd-devel
>
More information about the systemd-devel
mailing list