finit2

The systemd notification protocol

In order to determine then a service consider itself ready some kind of notification mechanism is needed. The classic way is forking then ready. Another one is using a very simple protocol defined by systemd. Since many packages has already been patched to implement this, finit also takes advantage of it.

It works like this:

  1. The service checks for the environment variable NOTIFY_SOCKET.
  2. If present, it contains the path to a unix datagram socket.
  3. Then the service is ready it sends the string "ready=1".

A varity of other messages are also sent. But they are just ignored by finit (for now).