A simple pure-Go Linux init system.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.


TODO: Full update of this file, currently outdated



Name: ServiceFoo
Description: Service Foo does lot of things and provides 'foo'
Type: forking
PIDFile: /var/run/foo.pid

Startup: start_foo.bar
Shutdown: stop_foo.bar


Name: ServiceBaz
Description: Baz runs after Foo and then needs 'foobar'
Type: simple

Requires: foobar
Startup: baz --start
Shutdown: killall baz



  • Name: name of the service, a-Z0-9 without spaces, - and _ allowed
  • Description: One line description of the service
  • Relations
    • Requires: bar,other

Separate multiples keywords with ,. Only a-Z0-9 - and _ allowed

  • Startup: One line command to start service
  • Shutdown: One line command to stop service
  • CheckAlive: One line command to check if service is alive, however it use PIDFile
  • PIDFile: File the daemon store his PID. Should be mandatory for Type: forking
  • Autostart: true/false, will the service started on boot ?
  • Type:
    • forking: service is expected to fork by himself, PIDFile: would be great
    • oneshot: expected to fork by himself, no stop/status possible, it’s a one-shot thing
    • simple: daemon doesn’t fork by himself
    • virtual: used only for dependencies ordering

Requires are used for relationship, like udev can only be started when loopback have been brought up.

Default values

  • Autostart: true
  • Type: forking