starting a service from within a oneshot using s6-rc

From: Benjamin Isbarn <benjamin.isbarn_at_gmail.com>
Date: Mon, 27 Oct 2025 16:27:49 +0000

Hi,

I've stumbled upon a problem when trying to start a service from within a
oneshot service.

The oneshot in question is basically a small binary that tries to apply a
network configuration given a configuration file. Basically there are the
tow cases DHCP and static. For DHCP I want to use busybox's udhcpc which I
wrapped into a long run service. So wenn the oneshot tool tries to apply
the network config and DHCP is set it then tries to launch `s6-rc start
udhcpc`.

However, this doesn't work since the oneshot itself is part of the initial
`s6-rc change ok-all` which blocks the service database at least until the
oneshot itself has finished.

Do you have some suggestion for workarounds around this problem? I guess
touching a file like /run/udhcpc.wanted, adding the oneshot to the
dependencies of udhcpc and start udhcpc conditionally based on the
existence of that file could work, but I don't really like that approach.

Any suggestions are welcome :)

Best regards,

Benny
Received on Mon Oct 27 2025 - 17:27:49 CET

This archive was generated by hypermail 2.4.0 : Mon Oct 27 2025 - 17:28:33 CET