Anitroegy apró folyamatfelügyelő, amely Linuxon és NetBSD-n PID 1-ként is használható.
Áttekintés
Anitrofő alkalmazási területei:
- Init rendszerLinux vagy NetBSD gépekhez (beágyazott, asztali vagy szerver célokra).
- Init rendszerLinux initramfs-hez.
- Init rendszerLinux konténerekhez (Docker/Podman/LXC/Kubernetes).
- Nem privilegizált felügyeleti démonáltalános POSIX rendszereken.
Anitrokonfigurációja egy szkriptkönyvtárral történik, alapértelmezetten a/etc/nitro(vagy az első parancssori argumentumban megadott könyvtár).
Előnyök más rendszerekkel szemben
- Minden állapototRAM-bantart, így írásvédett gyökérfájlrendszereken is működik trükkök nélkül.
- Hatékony, eseményvezérelt, lekérdezésmentes működés.
- Nulla memóriafoglalásfutási idő alatt.
- Egyetlen önálló bináris fájl, plusz egy opcionális bináris a rendszer vezérléséhez (
nitroctl). - Nincs szükség konfigurációs fordítási lépésekre, a szolgáltatások egyszerűenszkripteket tartalmazó könyvtárak.
- Támogatja a szolgáltatásokmegbízható újraindítását.
- Megbízható naplózási mechanizmusok szolgáltatásonként vagy alapértelmezés szerint, akár naplózási láncok is kialakíthatók.
Szolgáltatások (Services)
A konfigurációs könyvtáron belül (alapértelmezés szerint/etc/nitro) minden alkönyvtár egy szolgáltatást képvisel, és a következő fájlokat tartalmazhatja:
- setup– Opcionális futtatható fájl, amely a szolgáltatás indítása előtt fut le. 0-ás státusszal kell kilépnie a folytatáshoz.
- run– Opcionális futtatható fájl, amely a szolgáltatást futtatja; nem léphet ki mindaddig, amíg a szolgáltatás futónak minősül. Ha nincs run szkript, a szolgáltatás „egyszeri futásúnak” (oneshot) minősül.
- finish– Opcionális futtatható fájl, amely a run folyamat befejezése után fut le. Két argumentumot kap: a run folyamat kilépési státuszát és a jelzést (szignált), ami megölte (ha volt ilyen).
- log– Szimbolikus link egy másik szolgáltatási könyvtárra. A run standard kimenete pipe -on keresztül csatlakozik a log szolgáltatás standard bemenetéhez (naplózási láncokhoz).
- down– Opcionális fájl, amely miatt a nitro alapértelmezés szerint nem indítja el a szolgáltatást.
Speciális szolgáltatások
LOG: Ez a szolgáltatás naplózási szolgáltatásként működik minden olyan szolgáltatás számára, amelynek nincs sajátlogszimlinkje.SYS:SYS/setupa többi szolgáltatás elindítása előtt fut le.SYS/finishaz összes többi szolgáltatás leállítása előtt fut le, mielőtt a rendszer leállna.SYS/finalaz összes folyamat leállítása után fut le.SYS/fatalfut le (kilépés helyett), ha helyrehozhatatlan hiba történik.SYS/reincarnatefut le leállítás helyett (újraindításhoz, pl. initramfs esetén).
- A rendszer vezérlése:
nitroctl - A futó
nitropéldány távolról vezérelhető anitroctleszközzel. - Gyakori parancsok:
| Parancs | Leírás |
list | Megmutatja a szolgáltatások listáját, állapotát, PID-jét, futási idejét és utolsó kilépési státuszát. |
up [SERVICE] | Elindítja a szolgáltatást. |
down [SERVICE] | Leállítja a szolgáltatást. |
rescan | Újraolvassa a konfigurációs könyvtárat, elindítja a hozzáadott, leállítja az eltávolított démonokat. |
Shutdown | Leállítja (kikapcsolja) a rendszert. |
Reboot | Újraindítja a rendszert. |
pidof [SERVICE] | Kiírja a szolgáltatás PID-jét. |
- Módok
- A
nitrohárom fő fázisa:
- Rendszerindítás: Ha létezik a
SYSszolgáltatás, annaksetupszkriptje fut először. Ezután elindul az összes „nem leállított” szolgáltatás. - Működés: Ha egy szolgáltatás kilép, újraindul (rövid időn belüli gyors újraindulás esetén 2 másodpercet vár).
- Leállítás/Újraindítás: A
nitroctl Shutdownvagynitroctl Rebootparancsokkal indítható. Ekkor fut aSYS/finish, majd anitroSIGTERMjelzést küld minden futó szolgáltatásnak, 7 másodpercig vár, majdSIGKILL-t küld. Végül fut aSYS/final, és a rendszer leáll vagy újraindul.
Anitro initGitHub repó linkje:https://github.com/leahneukirchen/nitro


















