Systemd Service fail

Systemd Service Fail



Linuxis näitab systemctl oleku väljund, et teenus laaditakse faili kaudu, mida nimetatakse teenusefailiks. Nendele failidele pääseb juurde /lib/systemd/system või /etc/systemd/system kataloogid.

Teenusfailides on .teenus laiendusi ja sisaldavad juhiseid, mida nõuab süsteemne teenuse haldamiseks.







The süsteemne init süsteem haldab süsteemi initsialiseerimist kasutades Üksus . Üksus on objekt, mis täidab ülesannet või toimingut, näiteks haldab teenust, mis hõlmab selle juhtimist ja jälgimist. Need üksused on sisuliselt failid, mida nimetatakse teenindusfailideks ja mis sisaldavad üksuste sõltuvusi ja käske. Need failid on taustaprotsesside tõhusaks juhtimiseks ja ressursside haldamiseks üliolulised.



Juhendis uurin süsteemi teenusefaili, selle struktuuri ja peamisi teenust juhtivaid direktiive.



Systemd-iga töötamisel tingimused systemd teenusefail ja systemd üksuse fail kasutatakse sageli vaheldumisi, kuna tehniliselt viitavad need samale asjale.





Mis on Systemd Service File

Linuxis haldab systemd teenuseid, kasutades teenusefaile, mis sisaldavad konfiguratsioonijuhiseid, et süsteem saaks aru ja saaks käivitada.

Ühikute loetlemiseks kasutage süsteemictl koos -loend-ühikud käsk.



systemctl --loend-ühikud

Mis tahes teenuse teenusefaili lugemiseks kasutage kass käsk faili teega.

kass [ / service-faili tee ]

Näiteks teenusefaili vaatamiseks ssh.service kasutage antud käsku.

kass / lib / süsteemne / süsteem / ssh.service

Systemd Service faili anatoomia

Üldiselt sisaldavad systemd teenindusüksuse failid kolme jaotist.

  • Üksus
  • Teenindus
  • Installige

Teenusepõhisel üksusefailil on spetsiaalne jaotis nimega Teenindus osa.

Pange tähele, et teenus on vaid teatud tüüpi üksus. Seadmel võib olla erinevat tüüpi, näiteks pistikupesa, seade, kinnitus, automaatne ühendamine, vahetus, sihtmärk, taimer, osa ja ulatus. Need sektsioonid asetatakse jaotiste Üksus ja Install vahel. Samuti asendatakse faililaiend vastava seadmetüübiga, näiteks pistikupesa üksuse tüübil on a .pistikupesa faililaiendit.

Märge: Selles juhendis keskendun teenindusüksuse tüübile, kuna administraatorid ja arendajad kasutavad seda laialdaselt.

Need jaotised on ümbritsetud nurksulgudega ([]). Iga jaotis sisaldab asjakohast juhiste komplekti. Allpool on toodud teenindusfaili üldine struktuur.

[ Üksus ]

Direktiiv1 =Juhend 1

Direktiiv2 =Juhend 2

[ Teenindus ]

Direktiiv1 =Juhend 1

Direktiiv2 =Juhend 2

[ Installige ]

Direktiiv1 =Juhend 1

Direktiiv2 =Juhend 2

Sektsioonide järjekorda saab muuta; üldiselt järgitakse aga ülaltoodud järjekorda.

[Ühik] jaotis

Üksuse jaotis sisaldab ühiku kirjeldust ja ühikute sõltuvusi. See jaotis on kokkuleppeliselt paigutatud teenusefaili ülaossa. Tavaliselt kasutatavad direktiivid on loetletud allpool:

direktiiv Kirjeldus
Kirjeldus Seda käsku kasutatakse teenuse nime mainimiseks. Kirjelduse pikkus ei tohi ületada 80 tähemärki.
Dokumentatsioon See käsk sisaldab teenuse man-lehte või URL-i.
Vajab Seda direktiivi kasutatakse praegusest teenusest sõltuvuse mainimiseks. Kui seda sõltuvusteenust ei aktiveerita, siis praegust teenust ei käivitata.
Tahab Seda direktiivi kasutatakse sõltuvuse mainimiseks praegusest teenusest. Praeguse teenuse käitamiseks ei pea seda sõltuvusteenust aga aktiveerima.
Enne Pärast praeguse seadme aktiveerimist käivitatakse selles direktiivis nimetatud teenus.
Pärast Enne praeguse üksuse aktiveerimist käivitatakse selles direktiivis nimetatud teenus.
BindsTo See direktiiv seob praeguse teenuse nimetatud teenusega. Kui lingitud teenus taaskäivitub, taaskäivituvad ka praegused teenused.

Peale nende direktiivide on veel kaks direktiivi; Seisund ja Kinnitage. Paljud teenused nõuavad edukaks käitamiseks konkreetseid süsteemitingimusi ja neid direktiive kasutatakse tingimuste mainimiseks.

[Installi] jaotis

See jaotis ei ole kohustuslik ja on vajalik ainult siis, kui teenus nõuab käivitamisel aktiveerimist või deaktiveerimist. Lisaks tuleb mainida ka varjunimeteenust. Allpool on loetletud jaotise Installi jaoks tavaliselt kasutatavad direktiivid.

direktiiv Kirjeldus
WantedBy See direktiiv määrab käitamistaseme * teenuse sihtmärk. Kui sihtmärk on seatud multi-user.target siis lubatakse teenus sellel käitamistasemel.
NõutavBy See direktiiv sarnaneb WantedByga, kuid isegi ilma direktiivis mainitud sõltuvuseta on teenus lubatud.
Teise nimega Seda käsku kasutatakse teenuse lubamiseks teise nimega. Selle nimega sümlink luuakse, kui teenus on lubatud.

Enamasti, multi-user.target kasutatakse kui WantedBy parameeter. Aga mis on multi-user.target?

Multi-user.target tähistab süsteemi olekut, mis on valmis aktsepteerima mittegraafilisi mitme kasutaja seansse. See on olek enne GUI käivitamist.

Süsteemil on erinevaid käitamistasemeid, tutvume nende töötasemete funktsioonidega.

Systemd-is on teenused rühmitatud käitamistasemete alusel, mida nimetatakse sihtmärgid . Igal käitamistasemel on fail .sihtmärk laiendus /etc/systemd/system kataloog. Teenus töötab käitamistaseme oleku alusel.

Run Level Sihtmärgid osariik Failid
0 väljalülitamine Lülitage välja ja lülitage välja väljalülitus.sihtmärk
1 päästa Käivitab päästekesta pääste.sihtmärk
2,3,4 mitme kasutajaga Käivitab mitme kasutaja mitte-GUI kesta multi-user.target
5 graafiline Loob mitme kasutaja GUI kesta graafiline.sihtmärk
6 taaskäivitage Lülitage välja ja taaskäivitage reboot.target

[Teenus] jaotis

See jaotis sisaldab teenuse konfiguratsiooniseadeid. Selle jaotise esmane konfiguratsioon on teenuse alguses käivitatavate liikide ja käskude määratlemine. Tüüp ja ExecStart on peamised direktiivid, mida teenuse seadistamiseks kasutatakse.

Järgmises tabelis on loetletud erinevad teenusetüübid.

Teenuse tüüp Kirjeldus
lihtne See on vaiketüüp, kui tüüpi või siininime ei mainita ja mainitakse ainult ExecStart. Systemd käivitab esmalt põhiprotsessi ja seejärel järelüksused.
hargnemine Seda tüüpi kasutatakse teenuse töös hoidmiseks isegi siis, kui emateenus on suletud. See loob alamprotsessi pärast vanemprotsessi sulgemist.
üks lask Systemd käivitab esmalt põhiprotsessi ja kui põhiprotsess väljub, käivituvad järeltoimingud.
dbus Dbusiga teenust kasutatakse siini teise protsessiga suhtlemiseks. Kui siini nimi on mainitud, aktiveeritakse protsess pärast siini nime hankimist.
teatama Teenus teavitab protsessi käivitamisest. Süsteem liigub pärast teatise väljastamist järelkontrolliüksustesse.
tühikäigul See hoiab teenust seni, kuni kõik aktiivsed tööd on lähetatud; eelkõige kasulik konsooli väljundi parandamiseks.

Tavaliselt kasutatavad direktiivid jaotises Teenus on toodud allpool:

direktiiv Kirjeldus
ExecStart See säilitab protsessi alustamiseks käivitatava käsu täieliku tee.
ExecStartPre See säilitab käsud, mis tuleks täita enne põhiprotsessi algust.
ExecStartPost See säilitab käsud, mis tuleks käivitada pärast põhiprotsessi algust.
ExecReload See säilitab käsu teenuse konfiguratsiooni uuesti laadimiseks.
Taaskäivita Teenuse automaatseks taaskäivitamiseks sellistes olukordades nagu ebaõnnestumine, õnnestumine, ebanormaalsus, katkestamine ja valvekoer.
RestartSec Et hoida sekundite arvu, mille möödudes teenus automaatselt taaskäivitub.

The ExecStart on üks olulisemaid juhiseid, mida kasutatakse jaotises Teenus. See sisaldab käivitatava faili täielik tee et teenus käivitamisel käivitatakse.

Järeldus

Systemd teenusefail on konfiguratsioonifail, mis on struktureeritud direktiivide ja käskudega, et neid saaks systemd hallata. Need failid sisaldavad juhiseid, mis näitavad, kuidas systemd teenust haldab. Selles juhendis käsitlesin, kuidas pääseda juurde süsteemiteenuse failile, selle jaotistele ja teenuseid haldavatele direktiividele. Hooldusfaili juhiste kohta lisateabe saamiseks lugege leitud ametlikku dokumentatsiooni juhendit siin .