Systemd Service fájl

Systemd Service Fajl



Linuxon a systemctl állapotkimenet azt mutatja, hogy a szolgáltatás egy fájlon keresztül van betöltve, amelyet szolgáltatásfájlnak neveznek. Ezek a fájlok a /lib/systemd/system vagy /etc/systemd/system könyvtárakat.

A szervizfájlok rendelkeznek .szolgáltatás kiterjesztéseket, és tartalmazzák a által igényelt utasításokat systemd szolgáltatást irányítani.







A systemd Az init rendszer a rendszer inicializálását a Mértékegység . Az egység egy olyan objektum, amely egy feladatot vagy műveletet hajt végre, például egy szolgáltatás kezelését, amely magában foglalja annak vezérlését és figyelését. Ezek az egységek alapvetően szolgáltatásfájloknak nevezett fájlok, amelyek egységfüggőségeket és parancsokat tartalmaznak. Ezek a fájlok kulcsfontosságúak a háttérfolyamatok hatékony vezérléséhez és az erőforrások kezeléséhez.



Az útmutatóban megvizsgálom a systemd szolgáltatásfájlt, annak szerkezetét és a szolgáltatást vezérlő főbb direktívákat.



A systemd-vel végzett munka során a feltételeket systemd szolgáltatás fájl és systemd unit fájl gyakran felcserélhetően használják, mert technikailag ugyanarra a dologra utalnak.





Mi az a Systemd Service File

Linuxon a systemd a konfigurációs utasításokat tartalmazó szolgáltatásfájlok segítségével kezeli a szolgáltatásokat, hogy a systemd megértse és végrehajthassa.

Az egységek felsorolásához használja a systemctl parancsot a –lista-egységek parancs.



systemctl --lista-egységek

Bármely szolgáltatás szolgáltatásfájljának olvasásához használja a macska parancsot a fájl elérési útjával.

macska [ / service-file-útvonal ]

Például a szolgáltatás fájljának megtekintéséhez ssh.service használja a megadott parancsot.

macska / lib / systemd / rendszer / ssh.service

A Systemd Service File anatómiája

Általában a rendszerszolgáltatási egység fájljai három részből állnak.

  • Mértékegység
  • Szolgáltatás
  • Telepítés

A szolgáltatásspecifikus egységfájlnak lesz egy speciális szakasza, melynek neve a Szolgáltatás szakasz.

Vegye figyelembe, hogy a szolgáltatás csak egyfajta egység. Egy egység különböző típusú lehet, például foglalat, eszköz, rögzítés, automatikus csatlakoztatás, csere, cél, időzítő, szelet és hatókör. Ezek a részek az Egység és Telepítés szakaszok között helyezkednek el. A fájl kiterjesztését is lecseréli a megfelelő egységtípusra, például a socket egység típusának a .foglalat fájlkiterjesztés.

Jegyzet: Ebben az útmutatóban a szolgáltatási egység típusára fogok összpontosítani, mivel azt széles körben használják a rendszergazdák és a fejlesztők.

Ezek a szakaszok szögletes zárójelben ([]) vannak. Minden szakasz tartalmaz egy vonatkozó utasításkészletet. A szolgáltatásfájl általános felépítése alább látható.

[ Mértékegység ]

Irányelv1 =Utasítás 1

Irányelv2 =Utasítás 2

[ Szolgáltatás ]

Irányelv1 =Utasítás 1

Irányelv2 =Utasítás 2

[ Telepítés ]

Irányelv1 =Utasítás 1

Irányelv2 =Utasítás 2

A szakaszok sorrendje módosítható; azonban általában a fent említett sorrendet követik.

[Egység] szakasz

Az egység szakasz az egység leírását és az egységfüggőségeket tartalmazza. Ez a szakasz megegyezés szerint a szolgáltatásfájl tetején található. Az alábbiakban felsoroljuk a gyakran használt irányelveket:

Irányelv Leírás
Leírás Ez az irányelv a szolgáltatás nevének említésére szolgál. A leírás hossza nem haladhatja meg a 80 karaktert.
Dokumentáció Ez az utasítás tartalmazza a szolgáltatás man oldalát vagy URL-jét.
Igényel Ez az irányelv az aktuális szolgáltatástól való függőség említésére szolgál. Ha a függőségi szolgáltatás aktiválása nem történik meg, akkor az aktuális szolgáltatás nem indul el.
Akar Ez az irányelv az aktuális szolgáltatástól való függőség említésére szolgál. Ezt a függőségi szolgáltatást azonban nem szükséges aktiválni az aktuális szolgáltatás futtatásához.
Előtt Az aktuális egység aktiválása után az ebben az irányelvben említett szolgáltatás elindul.
Után Az aktuális egység aktiválása előtt az ebben az irányelvben említett szolgáltatás elindul.
BindsTo Ez a direktíva összekapcsolja az aktuális szolgáltatást az említett szolgáltatással. Ha a kapcsolt szolgáltatás újraindul, a jelenlegi szolgáltatások is újraindulnak.

Ezeken az irányelveken kívül van még két irányelv; Feltétel és Állítsd. Számos szolgáltatás speciális rendszerfeltételeket igényel a sikeres futtatáshoz, és ezek az irányelvek a feltételek említésére szolgálnak.

[Telepítés] szakasz

Ez a szakasz nem kötelező, és csak akkor szükséges, ha egy szolgáltatás rendszerindításkor aktiválást vagy deaktiválást igényel. Sőt, meg kell említeni az alias szolgáltatást is. A Telepítés szakaszhoz gyakran használt direktívák az alábbiak:

Irányelv Leírás
WantedBy Ez az utasítás beállítja a futási szintet * a szolgáltatás célpontja. Ha egy cél be van állítva többfelhasználós.cél akkor a szolgáltatás ezen a futási szinten engedélyezve lesz.
RequiredBy Ez a direktíva hasonlít a WantedBy-re, azonban az irányelvben említett függőség nélkül is engedélyezve lesz a szolgáltatás.
Álnév Ez az irányelv arra szolgál, hogy engedélyezze a szolgáltatást más néven. A szolgáltatás engedélyezésekor egy szimbolikus hivatkozás jön létre ezzel a névvel.

Leginkább a többfelhasználós.cél ként használják WantedBy paraméter. De mi az a multi-user.target?

A multi-user.target a rendszer állapotát jelöli, amely készen áll a nem grafikus többfelhasználós munkamenetek fogadására. Ez a grafikus felhasználói felület elindítása előtti állapot.

A rendszernek különböző futási szintjei vannak, ismerjük meg ezen futási szintek funkcióját.

A systemd-ben a szolgáltatások futási szintek alapján vannak csoportosítva, amelyeket hívnak célpontok . Minden futási szinthez tartozik egy fájl .cél kiterjesztés a /etc/systemd/system Könyvtár. A szolgáltatás a futási szint állapota alapján fog futni.

Futtatási szint Célok Állapot Fájlok
0 kikapcsolni Kapcsolja ki és kapcsolja ki kikapcsolás.cél
1 mentés Elindítja a mentőhéjat mentés.célpont
2,3,4 többfelhasználós Elindítja a többfelhasználós, nem GUI parancsértelmezőt többfelhasználós.cél
5 grafikus Létrehozza a többfelhasználós grafikus felületet grafikus.cél
6 újraindítás Állítsa le és indítsa újra reboot.target

[Szolgáltatás] szakasz

Ez a szakasz a szolgáltatás konfigurációs beállításait tartalmazza. Ennek a szakasznak az elsődleges konfigurációja a szolgáltatás indításakor végrehajtandó típus és parancsok meghatározása. típus és ExecStart a szolgáltatás létrehozásához használt fő irányelvek.

A szolgáltatás különböző típusait a következő táblázat sorolja fel.

A szolgáltatás típusa Leírás
egyszerű Ez az alapértelmezett típus, ha a típus vagy a busznév nincs megemlítve, és csak az ExecStart szerepel. A systemd először a fő folyamatot hajtja végre, majd a követő egységeket.
villás Ez a típus a szolgáltatás működésének fenntartására szolgál akkor is, ha a szülőszolgáltatás le van zárva. A szülői folyamat lezárása után elágaz egy gyermekfolyamatot.
egy lövés A systemd először a főfolyamatot hajtja végre, és amikor a főfolyamat kilép, elindulnak a követő egységek.
dbus A dbus szolgáltatást a buszon lévő másik folyamattal való kommunikációra használják. Ha a busznév szerepel, akkor a folyamat a busznév megszerzése után aktiválódik.
értesítse A szolgáltatás értesíti a folyamat elindításakor. A rendszer az értesítés kiadása után továbblép a nyomon követési egységekhez.
tétlen A szolgáltatást az összes aktív feladat elküldéséig tartja fenn; elsősorban a konzol kimenetének javítására használható.

A Szolgáltatás részben általánosan használt direktívák az alábbiak:

Irányelv Leírás
ExecStart A folyamat elindításához végrehajtandó parancs teljes elérési útját megtartja.
ExecStartPre Megtartja azokat a parancsokat, amelyeket a fő folyamat megkezdése előtt végre kell hajtani.
ExecStartPost Megtartja azokat a parancsokat, amelyeket a fő folyamat megkezdése után végre kell hajtani.
ExecReload Megtartja a szolgáltatáskonfiguráció újratöltésére vonatkozó parancsot.
Újrakezd A szolgáltatás automatikus újraindítása olyan körülmények között, mint például hiba, siker, rendellenes, megszakítás és figyelőkutya esetén.
RestartSec A másodpercek számának megtartása, amely után a szolgáltatás automatikusan újraindul.

A ExecStart a Szolgáltatás részben használt kulcsfontosságú direktívák egyike. Ez tartalmazza a a végrehajtható fájl teljes elérési útja hogy a szolgáltatás meghíváskor lefut.

Következtetés

A systemd szolgáltatásfájl egy konfigurációs fájl, amely direktívákkal és parancsokkal van felszerelve, így a systemd kezelheti azokat. Ezek a fájlok utasításokat tartalmaznak, amelyek jelzik, hogy a systemd hogyan kezeli a szolgáltatást. Ebben az útmutatóban bemutattam, hogyan lehet hozzáférni egy systemd szolgáltatásfájlhoz, annak szakaszaihoz és a szolgáltatásokat kezelő direktívákhoz. Ha többet szeretne megtudni a szervizfájl utasításairól, kérjük, olvassa el a hivatalos dokumentációs útmutatót itt .