Sistemos paslaugų failas

Sistemos Paslaugu Failas



„Linux“ sistemoje „systemctl“ būsenos išvestis rodo, kad paslauga įkeliama per failą, kuris vadinamas paslaugos failu. Šiuos failus galima pasiekti /lib/systemd/system arba /etc/systemd/system katalogai.

Paslaugų failai turi .paslauga plėtinius ir juose pateikiamos instrukcijos, kurių reikalauja sisteminis valdyti paslaugą.







The sisteminis init sistema valdo sistemos inicijavimą naudodama Vienetas . Vienetas yra objektas, atliekantis užduotį arba veiksmą, pvz., valdantis paslaugą, kuri apima jos valdymą ir stebėjimą. Šie vienetai iš esmės yra failai, vadinami paslaugų failais, kuriuose yra vienetų priklausomybės ir komandos. Šie failai yra labai svarbūs norint efektyviai valdyti foninius procesus ir valdyti išteklius.



Vadove išnagrinėsiu sistemos paslaugų failą, jo struktūrą ir pagrindines direktyvas, kurios valdo paslaugą.



Dirbant su systemd, terminai systemd paslaugos failas ir systemd vieneto failas dažnai vartojami pakaitomis, nes techniškai jie nurodo tą patį dalyką.





Kas yra „Systemd Service“ failas

„Linux“ sistemoje „systemd“ valdo paslaugas naudodama paslaugų failus, kuriuose yra konfigūracijos instrukcijos, kad „systemd“ galėtų suprasti ir vykdyti.

Norėdami išvardyti vienetus, naudokite systemctl su -sąrašas-vienetai komandą.



systemctl --sąrašo vienetai

Norėdami perskaityti bet kurios paslaugos paslaugų failą, naudokite katė komandą su failo keliu.

katė [ / paslauga-failo kelias ]

Pavyzdžiui, norėdami pamatyti paslaugos failą ssh.service naudokite duotą komandą.

katė / lib / sisteminis / sistema / ssh.service

„Systemd Service“ failo anatomija

Paprastai sistemos paslaugų vienetų failus sudaro trys skyriai.

  • Vienetas
  • Aptarnavimas
  • Diegti

Konkrečios paslaugos vieneto faile bus specialus skyrius, vadinamas Aptarnavimas skyrius.

Atminkite, kad paslauga yra tik vieneto tipas. Įrenginys gali būti įvairių tipų, pvz., lizdas, įrenginys, tvirtinimas, automatinis prijungimas, keitimas, taikinys, laikmatis, dalis ir apimtis. Šios sekcijos yra tarp skyrių „Įrenginys“ ir „Įdiegimas“. Failo plėtinys taip pat bus pakeistas atitinkamu įrenginio tipu, pavyzdžiui, lizdo įrenginio tipas turės a .lizdas failo plėtinys.

Pastaba: Šiame vadove daugiausia dėmesio skirsiu paslaugų vieneto tipui, nes jį plačiai naudoja administratoriai ir kūrėjai.

Šios sekcijos pateikiamos laužtiniuose skliaustuose ([]). Kiekviename skyriuje yra atitinkamas instrukcijų rinkinys. Toliau pateikiama bendra paslaugų failo struktūra.

[ Vienetas ]

direktyva1 =Instrukcija 1

direktyva2 =Instrukcija 2

[ Aptarnavimas ]

direktyva1 =Instrukcija 1

direktyva2 =Instrukcija 2

[ Diegti ]

direktyva1 =Instrukcija 1

direktyva2 =Instrukcija 2

Skyrių tvarka gali būti keičiama; tačiau paprastai laikomasi minėtos tvarkos.

[Unit] skyrius

Skyriuje vienetas pateikiamas vieneto ir vienetų priklausomybių aprašymas. Pagal susitarimą šis skyrius yra paslaugų failo viršuje. Toliau pateikiamos dažniausiai naudojamos direktyvos:

direktyvą apibūdinimas
apibūdinimas Ši direktyva naudojama norint paminėti paslaugos pavadinimą. Aprašymo ilgis neturi viršyti 80 simbolių.
Dokumentacija Šioje direktyvoje yra paslaugos vadovas arba URL.
Reikalauja Ši direktyva naudojama norint paminėti priklausomybę nuo esamos paslaugos. Jei šios priklausomybės paslaugos aktyvinimas nebus atliktas, dabartinė paslauga nebus inicijuota.
Nori Ši direktyva naudojama norint paminėti priklausomybę nuo esamos paslaugos. Tačiau norint paleisti dabartinę paslaugą, šios priklausomybės paslaugos suaktyvinti nereikia.
Prieš Suaktyvinus esamą įrenginį, bus paleista šioje direktyvoje nurodyta paslauga.
Po to Prieš aktyvuojant esamą įrenginį, bus paleista šioje direktyvoje nurodyta paslauga.
BindsTo Ši direktyva susieja dabartinę paslaugą su minėta paslauga. Jei susieta paslauga paleidžiama iš naujo, dabartinės paslaugos taip pat bus paleistos iš naujo.

Be šių direktyvų, yra dar dvi direktyvos; Būklė ir Tvirtinti. Daugeliui paslaugų reikalingos konkrečios sistemos sąlygos, kad jos sėkmingai veiktų, ir šios direktyvos naudojamos sąlygoms paminėti.

[Įdiegti] skyrius

Šis skyrius nėra privalomas ir būtinas tik tada, kai paslaugą reikia suaktyvinti arba išjungti paleidžiant. Be to, taip pat reikia paminėti slapyvardžių paslaugą. Toliau pateikiamos dažniausiai naudojamos diegimo skyriaus direktyvos:

direktyvą apibūdinimas
WantedBy Ši direktyva nustato vykdymo lygį * paslaugos tikslas. Jei nustatytas tikslas kelių vartotojų.taikinys tada paslauga bus įjungta šiame vykdymo lygyje.
Reikalaujama pagal Ši direktyva yra panaši į WantedBy, tačiau net ir be direktyvoje nurodytos priklausomybės paslauga bus įjungta.
Pseudonimas Ši direktyva naudojama paslaugai įjungti kitu pavadinimu. Įjungus paslaugą, šiuo pavadinimu sukuriama nuoroda.

Dažniausiai, kelių vartotojų.taikinys naudojamas kaip WantedBy parametras. Bet kas yra multi-user.target?

Multi-user.target reiškia sistemos būseną, pasirengusią priimti negrafinius kelių vartotojų seansus. Tai būsena prieš paleidžiant GUI.

Yra skirtingi sistemos paleidimo lygiai, sužinokime apie šių paleidimo lygių funkcijas.

Sistemoje paslaugos yra sugrupuotos pagal paleidimo lygius, kurie vadinami tikslus . Kiekvienas vykdymo lygis turi failą su .taikinys pratęsimas /etc/systemd/system katalogas. Paslauga veiks pagal vykdymo lygio būseną.

Vykdymo lygis Taikiniai valstybė Failai
0 išjungti Išjunkite ir išjunkite maitinimo išjungimas.taikinys
1 gelbėti Paleidžia gelbėjimo apvalkalą gelbėjimas.taikinys
2,3,4 kelių vartotojų Paleidžia kelių vartotojų ne GUI apvalkalą kelių vartotojų.taikinys
5 grafinis Sukuria kelių vartotojų GUI apvalkalą grafinis.taikinys
6 paleisti iš naujo Išjunkite ir paleiskite iš naujo paleisti iš naujo.target

[Paslauga] Skyrius

Šiame skyriuje pateikiami paslaugos konfigūracijos nustatymai. Pagrindinė šio skyriaus konfigūracija yra tipo ir komandų, kurios turi būti vykdomos paslaugos pradžioje, apibrėžimas. Tipas ir ExecStart yra pagrindinės direktyvos, naudojamos kuriant paslaugą.

Įvairūs paslaugų tipai išvardyti toliau esančioje lentelėje.

Paslaugos tipas apibūdinimas
paprastas Tai yra numatytasis tipas, kai tipas arba magistralės pavadinimas neminimas ir minimas tik ExecStart. Sistema pirmiausia vykdo pagrindinį procesą, o tada tolesnius įrenginius.
išsišakojimas Šis tipas naudojamas, kad paslauga veiktų, net jei pagrindinė paslauga uždaryta. Užbaigus pagrindinį procesą, jis suaktyvina vaiko procesą.
vienas šūvis Sistema pirmiausia vykdo pagrindinį procesą, o kai pagrindinis procesas baigiasi, prasidės tolesni įrenginiai.
dbus Paslauga su dbus naudojama bendrauti su kitu procesu magistralėje. Jei paminėtas magistralės pavadinimas, procesas bus suaktyvintas gavus magistralės pavadinimą.
pranešti Paslauga apie tai praneš pradėjus procesą. Po pranešimo sistema pereis prie tolesnių skyrių.
tuščiąja eiga Jis palaiko paslaugą, kol bus išsiųstos visos aktyvios užduotys; pirmiausia naudinga norint pagerinti konsolės išvestį.

Toliau nurodytos dažniausiai naudojamos direktyvos skyriuje Paslaugos:

direktyvą apibūdinimas
ExecStart Jis išlaiko visą komandos kelią, kuris turi būti vykdomas norint pradėti procesą.
ExecStartPre Jame saugomos komandos, kurios turėtų būti vykdomos prieš pradedant pagrindinį procesą.
ExecStartPost Jame išsaugomos komandos, kurios turėtų būti vykdomos prasidėjus pagrindiniam procesui.
ExecReload Jis išlaiko komandą iš naujo įkelti paslaugos konfigūraciją.
Perkrauti Norėdami automatiškai paleisti paslaugą iš naujo tokiomis aplinkybėmis kaip nesėkmės, sėkmės, nenormalios, nutraukimo ir budėjimo metu.
RestartSec Norėdami išlaikyti sekundžių skaičių, po kurio paslauga bus automatiškai paleista iš naujo.

The ExecStart yra viena iš svarbiausių paslaugų skyriuje naudojamų direktyvų. Jame yra visas vykdomojo failo kelias kad paslauga bus vykdoma iškvietus.

Išvada

„Systemd“ paslaugos failas yra konfigūracijos failas, sudarytas pagal direktyvas ir komandas, kad jas galėtų valdyti „systemd“. Šiuose failuose yra instrukcijos, nurodančios, kaip „systemd“ valdo paslaugą. Šiame vadove aprašiau, kaip pasiekti sisteminės paslaugos failą, jo skyrius ir direktyvas, kurios valdo paslaugas. Norėdami sužinoti daugiau apie paslaugų failų instrukcijas, perskaitykite rastą oficialų dokumentacijos vadovą čia .