[systemd-devel] start / stop daemon

Colin Guthrie gmane at colin.guthr.ie
Tue Aug 19 09:44:54 PDT 2014

Bonno Bloksma wrote on 19/08/14 15:44:
> In that case I would like to ask if the developers have already
> considered a development in the Windows world considering the
> stopping of services that may take a LOOONG time stopping, for
> instance some databases.
> I wonder if the people developing systemd are paying attention to a
> development in de Windows environment where the latest thing is that
> de service can report back that it is indeed still trying to stop and
> not just hung or not reporting back. Windows will now kill a service
> after a certain time when shutting down, in some cases it is killing
> a database that took A LONG TIME to shut down and cause the database
> to become inconsistent. The new development is to make sure that does
> not happen. If systemd is trying to become smart about stopping
> services it might be a good idea to have this built in. Also not just
> have the service report back "I am still busy" but also with a
> progress indicator which NEEDS to increase at each report so systemd
> can detect whether the service is indeed progressing towards a
> stopped state or hung in the getting there. From the past I have seen
> things go wrong in communication when the only thing reported back is
> "I am busy" while there was no progress being made toward the
> finish.
> Is this something the systemd team has already put on the todo list
> or am I the first to suggest it?

There is certainly prior art with regards to the "Type=notify" units.
These units use a small notification protocol to implement a type of
watchdog support and signal systemd when it's "ready" (i.e. passed the
early initialisation phase and available for anything that relies on it).

The application can then use the protocol to report back a status line
that appears in the systemctl status output.

I'm not sure of the top of my head if there is anything in this protocol
that allows modification of any timeouts, but systemd already has
support for showing the user feedback about slow running stop jobs
although I believe this is limited to the startup/shutdown sequences
rather than interactively via systemctl... could be wrong tho'.

Anyway, the long and short of it is, that there is a lot already in
systemd related to this, so in theory it shouldn't be too hard to
integrate support, but I don't think there is something that does this
exactly at present.



Colin Guthrie

Day Job:
  Tribalogic Limited http://www.tribalogic.net/
Open Source:
  Mageia Contributor http://www.mageia.org/
  PulseAudio Hacker http://www.pulseaudio.org/
  Trac Hacker http://trac.edgewall.org/

More information about the systemd-devel mailing list