Minit
# Minit

Minit ist ein init-Programm für unixartige Betriebssysteme. Als solches ist es der erste Prozess der im System gestartet wird und seine Aufgabe besteht darin, weitere Hintergrunddienste und Programme zu starten. Es beherrscht darüber hinaus auch deren Statusüberwachung und das Beenden einzelner Prozesse. Minit wurde von Felix von Leitner entwickelt und ist unter der GPL veröffentlicht.

Minit ist vom Aufbau an die Struktur von den daemontools von DJ Bernstein angelehnt. Im Gegensatz zum klassischen SysVinit bietet minit keine Runlevel an. Minit ist minimalistisch aufgebaut und grenzt im Vergleich zu Systemen wie systemd seine Aufgaben klar von denen gestarteter Hintergrunddienste ab. Es ist dennoch sowohl für Embedded-Geräte als auch große Server, Desktop- oder Laptop-Systeme geeignet.

## Technik

Minit arbeitet im Gegensatz zu Systemen wie systemd oder Upstart nicht ereignisorientiert. Für jeden Dienst gibt es einen Unterordner in /etc/minit, der ähnlich wie bei den daemontools ein Script namens run beinhaltet. In einer Datei params können noch zeilenweise Parameter angegeben werden, die run übergeben werden. Das erlaubt es, dass run in vielen Fällen auch einfach ein Symlink auf eine ausführbare Datei ist. Im Gegensatz zu daemontools arbeitet minit mit einem Abhängigkeitsbaum. Beim Starten wird zunächst versucht, den Dienst default (in /etc/minit/default) zu starten. Dabei werden die Namen der Dienste, von denen default abhängt, aus der Datei depends gelesen. Entsprechendes wird für diese ausgeführt. Existiert in einem Dienst eine Datei sync, so kann kein anderer Dienst gestartet werden, der von diesem abhängig ist, bis er wieder beendet ist. Minit startet, anders als daemontools Dienste, auch nicht automatisch neu, sondern nur, wenn eine Datei respawn existiert.

