Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 10964|Atsakyti: 8

[Linux] Išsamiai paaiškinta "Linux systemd" paslaugų tvarkyklė

[Kopijuoti nuorodą]
Paskelbta 2021-11-28 10:02:32 | | | |
systemd yra pagrindinių Linux sistemų statybinių blokų rinkinys. Jame yra sistemos ir paslaugų tvarkyklė, kuri paleidžia ir paleidžia likusią sistemos dalį kaip PID 1.

systemd suteikia agresyvias lygiagretinimo galimybes, naudoja lizdus ir D-Bus aktyvinimą paslaugoms paleisti, suteikia demonų paleidimą pagal poreikį, naudoja Linux valdymo grupes procesams sekti, palaiko prijungimus ir automatinio prijungimo taškus ir įgyvendina gerai suprojektuotą operacijų priklausomybe pagrįstą paslaugų valdymo logiką. systemd palaiko SysV ir LSB init scenarijus ir gali pakeisti sysvinit.

Kiti skyriai apima žurnalo demonus, komunalines paslaugas, skirtas valdyti pagrindines sistemos konfigūracijas, tokias kaip pagrindinio kompiuterio pavadinimai, datos, lokalės, prisijungusių vartotojų sąrašo tvarkymą ir konteinerių bei virtualių mašinų paleidimą, sistemos paskyras, vykdymo katalogus ir nustatymus, taip pat paprastų tinklų demonų konfigūracijų valdymą, tinklo laiko sinchronizavimą, žurnalų persiuntimą ir vardų skyrą.

"systemd" konfigūracijos failas yra šiuose trijuose aplankuose:         

/etc/systemd/system 存放系统启动的默认级别及启动的unit的软连接,优先级最高。

/run/systemd/system 系统执行过程中产生的服务脚本,优先级次之。

/usr/lib/systemd/system 存放系统上所有的启动文件,优先级最低。
Peržiūra:

"Linux" žiūri į "Systemd" paslaugos žurnalo išvestį
https://www.itsvse.com/thread-10154-1-1.html

Jenkins (4) Pridėkite Linux mazgą ir užregistruokite jį kaip paslaugą
https://www.itsvse.com/thread-10120-1-1.html

"CentOS 7" įdiegia "Node" eksportuotoją
https://www.itsvse.com/thread-9969-1-1.html

Vieneto profilis

Vieneto failas systemd yra failas, kuriame koduojama informacija apie įvairius vienetus, kuriuos systemd gali valdyti, įskaitant paslaugas, lizdus, įrenginius ir pan. Šiame vadove daugiausia dėmesio skiriama paslaugoms, tokiu atveju vieneto failas, su kuriuo dirbame, yra .service failas. Įrenginio konfigūracijos faile varnish.service yra informacija apie tai, kaip systemd turėtų vykdyti, stebėti ir valdyti lako demoną.

[Vienetas] blokas paprastai yra pirmasis konfigūracijos failo blokas ir naudojamas vieneto metaduomenims ir jų ryšiui su kitais vienetais apibrėžti. Pagrindinės jos sritys yra šios.

  • Aprašymas: Trumpas aprašymas
  • Dokumentai: dokumento adresas
  • Reikia: Kiti įrenginiai, nuo kurių priklauso dabartinis įrenginys, o jei jie neveikia, dabartinio įrenginio nepavyks paleisti
  • Nori: Kiti įrenginiai, kurie dirba su dabartiniu įrenginiu, jei jie neveikia, dabartinis įrenginys nepavyks paleisti
  • BindsTo: Panašiai kaip Reikalauja, jis nurodo vienetą, dėl kurio dabartinis įrenginys nustoja veikti, jei jis išeina
  • Prieš: jei šiame lauke nurodytas vienetas taip pat turi būti paleistas, jis turi būti paleistas po dabartinio vieneto
  • Po: jei šiame lauke nurodytas vienetas taip pat turi būti paleistas, jis turi būti paleistas prieš dabartinį vienetą
  • Konfliktai: čia nurodytas vienetas negali veikti tuo pačiu metu kaip ir dabartinis vienetas
  • Sąlyga... : Sąlygos, kurios turi būti įvykdytos, kad dabartinis įrenginys veiktų, kitaip jis neveiks
  • Ginti... : Sąlygos, kurios turi būti įvykdytos, kad dabartinis įrenginys veiktų, kitaip bus pranešta apie paleidimo gedimą

[Įdiegti] paprastai yra paskutinis konfigūracijos failo blokas, apibrėžiantis, kaip paleisti ir ar paleisti. Pagrindinės jos sritys yra šios.

  • WantedBy: Jo reikšmė yra vienas ar keli tikslai, o kai dabartinis vienetas yra aktyvus (įjungti), simbolinė nuoroda dedama į pakatalogį, esantį /etc/systemd/system kataloge su tiksliniu pavadinimu + .wants priesaga
  • RequiredBy: Jo reikšmė yra vienas ar keli tikslai, o kai dabartinis vienetas yra aktyvus, simbolinė nuoroda bus patalpinta į pakatalogį, esantį /etc/system/system kataloge su tiksliniu pavadinimu + .required priesaga
  • Pseudonimas: pseudonimas, kurį dabartinis vienetas gali naudoti paleisdamas
  • Taip pat: Įjungus dabartinį įrenginį, tuo pačiu metu bus įjungti kiti įrenginiai

Blokas [Service] naudojamas tarnybai konfigūruoti, o šį bloką turi tik paslaugos tipo vienetai. Pagrindinės jos sritys yra šios.

  • Tipas: apibrėžia proceso veikimą paleidžiant. Jis turi šias reikšmes.
  • Type=simple: numatytoji reikšmė, vykdykite ExecStart nurodytą komandą, kad pradėtumėte pagrindinį procesą
  • type=forking: šakutė sukuria antrinį procesą iš pirminio proceso, kuris bus baigtas iškart po sukūrimo
  • Type=oneshot: Vienkartinis procesas, Systemd lauks, kol dabartinė paslauga bus uždaryta, prieš tęsdama vykdymą
  • Type=dbus: dabartinė paslauga paleidžiama per D-Bus
  • type=notify: Paleidus dabartinę paslaugą, Systemd bus pranešta ir tęs vykdymą
  • type=idle: dabartinė paslauga bus vykdoma tik tuo atveju, jei bus vykdomos kitos užduotys
  • ExecStart: komanda paleisti dabartinę paslaugą
  • ExecStartPre: komanda, vykdoma prieš paleidžiant dabartinę paslaugą
  • ExecStartPost: komanda, vykdoma paleidus dabartinę paslaugą
  • ExecReload: komanda, kuri vykdoma iš naujo paleidus dabartinę paslaugą
  • ExecStop: komanda, kuri vykdoma sustabdžius dabartinę paslaugą
  • ExecStopPost: sustabdykite komandą, kuri vykdoma, kai ji įteikiama
  • RestartSec: sekundžių skaičius tarp automatinio aptarnavimo paleidimo iš naujo
  • Paleisti iš naujo: apibrėžia aplinkybes, kuriomis Systemd automatiškai paleis dabartinę paslaugą, su galimomis reikšmėmis, tokiomis kaip visada, sėkmingai, nepavykus, nenormaliai, nutraukus, stebint
  • TimeoutSec: apibrėžia sekundžių skaičių, per kurį Systemd laukia prieš sustabdydama dabartinę paslaugą
  • Aplinka: nurodykite aplinkos kintamąjį

Systemctl valdymo įrankis

Programų valdymą "CentOS" iš esmės atlieka įrankis systemctl.

Paleidimo paslauga:

systemctl pradžios pavadinimas.paslauga

Nutraukti paslaugą:

systemctl stop name.service

Paleiskite paslaugą iš naujo:

systemctl iš naujo paleiskite pavadinimą.paslauga

Rodyti būseną:

systemctl būsenos pavadinimas.paslauga

Sąlyginis paleidimas iš naujo:

Jei paslauga buvo paleista anksčiau, ji bus paleista iš naujo, o jei paslauga nebus paleista – nebus naudojama

systemctl pabandykite paleisti iš naujo pavadinimą.paslauga

Įkelti iš naujo arba paleisti iš naujo:

Pirmiausia įkelkite iš naujo, o jei perkrovimas nepavyksta, paleiskite iš naujo

systemctl perkrovimo arba paleidimo iš naujo pavadinimas.paslauga

Įkelti iš naujo arba sąlyginis paleidimas iš naujo:

systemctl perkrauti arba bandyti paleisti iš naujo pavadinimą.paslauga

Nustatoma, ar vartotojas gali nustatyti tarnybą, kad ji pradėtų būseną

systemctl demaskuoti name.service

Systemctl kaukės pavadinimas.paslauga draudžiama

Peržiūrėti dabartinę tarnybos aktyvinimo būseną:

Tarnybos komandos būsenos grąžinimo reikšmė yra 0 Nepradėtos komandos būsenos grąžinimo reikšmė yra ne 0

systemctl yra aktyvus pavadinimas.paslauga

Peržiūrėkite visas suaktyvintas paslaugas:

-t Nurodo rodomo įrenginio tipą.

--all rodo išsamesnį informacijos sąrašą.

-ekvivalentas --visi

systemctl sąrašo vienetai

systemctl sąrašas-vienetai -t paslauga

systemctl sąrašas-vienetai -t paslauga -a

Peržiūrėkite visas paslaugas:

systemctl sąrašo vienetai -a

Peržiūrėti visas tarnybos būsenas:

systemctl sąrašo vienetų failai

-a 、--all : Peržiūrėti visų paslaugų būseną

-t 、--tipas: nurodo peržiūrėtino vieneto tipą

loaded: Konfigūracijos failas įkeltas, įkeltas į atmintį

active(running): vykdomi, kurie nepertraukiamai apdorojami vieną ar kelis kartus

active(exited): vienkartinė konfigūracija sėkmingai baigta

active(waiting): Bėga, laukia įvykio

inactive:不运行

enabled:开机启动

disabled:开机不启动

static:开机不启动,但可被另一个启用的服务激活

Naudojamas išvardyti, kokiais veikimo lygiais tarnyba įjungta ir išjungta

ls /etc/systemd/system/*.wants/sshd.service

systemctl sąrašas-vienetų-failai --tipas tikslas --visi

Norėdami nustatyti, kad paslauga nebūtų paleista:

systemctl išjungti paslaugos pavadinimo vienetą

Patikrinkite, ar paslauga paleista ir paleista:

systemctl yra įgalintas pavadinimas.paslauga

Pažvelkite į tarnybos priklausomybes:

systemctl sąrašo priklausomybių pavadinimas.paslauga
systemctl list-depebdencies

Sunkių krovinių aptarnavimas:

systemctl demonas-perkrauti

Nužudykite procesą:

systemctl nužudymo proceso pavadinimas

Išteklių:

Hipersaito prisijungimas matomas.
Hipersaito prisijungimas matomas.
Hipersaito prisijungimas matomas.
Hipersaito prisijungimas matomas.





Ankstesnis:"Linux" išbando LDAP ryšį naudodama komandą "Curl".
Kitą:VSFTP įkelti failo leidimo klausimas
 Savininkas| Paskelbta 2021-12-11 17:35:26 |
[Vienetas]Blokas paprastai yra pirmasis konfigūracijos failo blokas, apibrėžiantis vieneto metaduomenis ir jo ryšį su kitais vienetais. Pagrindinės jos sritys yra šios.

Aprašymas: Trumpas aprašymas
Dokumentai: dokumento adresas
Reikia: Kiti įrenginiai, nuo kurių priklauso dabartinis įrenginys, o jei jie neveikia, dabartinio įrenginio nepavyks paleisti
Nori: Kiti įrenginiai, kurie dirba su dabartiniu įrenginiu, jei jie neveikia, dabartinis įrenginys nepavyks paleisti
BindsTo: Panašiai kaip Reikalauja, jis nurodo vienetą, dėl kurio dabartinis įrenginys nustoja veikti, jei jis išeina
Prieš: jei šiame lauke nurodytas vienetas taip pat turi būti paleistas, jis turi būti paleistas po dabartinio vieneto
Po: jei šiame lauke nurodytas vienetas taip pat turi būti paleistas, jis turi būti paleistas prieš dabartinį vienetą
Konfliktai: čia nurodytas vienetas negali veikti tuo pačiu metu kaip ir dabartinis vienetas
Sąlyga... : Sąlygos, kurios turi būti įvykdytos, kad dabartinis įrenginys veiktų, kitaip jis neveiks
Ginti... : Sąlygos, kurios turi būti įvykdytos, kad dabartinis įrenginys veiktų, kitaip bus pranešta apie paleidimo gedimą
[Įdiegti]Paprastai tai yra paskutinis konfigūracijos failo blokas, apibrėžiantis, kaip paleisti ir ar paleisti. Pagrindinės jos sritys yra šios.

WantedBy: Jo reikšmė yra vienas ar keli tikslai, o kai dabartinis vienetas yra aktyvus (įjungti), simbolinė nuoroda dedama į pakatalogį, esantį /etc/systemd/system kataloge su tiksliniu pavadinimu + .wants priesaga
RequiredBy: Jo reikšmė yra vienas ar keli tikslai, o kai dabartinis vienetas yra aktyvus, simbolinė nuoroda bus patalpinta į pakatalogį, esantį /etc/system/system kataloge su tiksliniu pavadinimu + .required priesaga
Pseudonimas: pseudonimas, kurį dabartinis vienetas gali naudoti paleisdamas
Taip pat: Įjungus dabartinį įrenginį, tuo pačiu metu bus įjungti kiti įrenginiai
[Paslauga]Blokai naudojami tarnyboms konfigūruoti, o šį bloką turi tik tarnybos tipo vienetai. Pagrindinės jos sritys yra šios.

Tipas: apibrėžia proceso veikimą paleidžiant. Jis turi šias reikšmes.
Type=simple: numatytoji reikšmė, vykdykite ExecStart nurodytą komandą, kad pradėtumėte pagrindinį procesą
type=forking: šakutė sukuria antrinį procesą iš pirminio proceso, kuris bus baigtas iškart po sukūrimo
Type=oneshot: Vienkartinis procesas, Systemd lauks, kol dabartinė paslauga bus uždaryta, prieš tęsdama vykdymą
Type=dbus: dabartinė paslauga paleidžiama per D-Bus
type=notify: Paleidus dabartinę paslaugą, Systemd bus pranešta ir tęs vykdymą
type=idle: dabartinė paslauga bus vykdoma tik tuo atveju, jei bus vykdomos kitos užduotys
ExecStart: komanda paleisti dabartinę paslaugą
ExecStartPre: komanda, vykdoma prieš paleidžiant dabartinę paslaugą
ExecStartPost: komanda, vykdoma paleidus dabartinę paslaugą
ExecReload: komanda, kuri vykdoma iš naujo paleidus dabartinę paslaugą
ExecStop: komanda, kuri vykdoma sustabdžius dabartinę paslaugą
ExecStopPost: sustabdykite komandą, kuri vykdoma, kai ji įteikiama
RestartSec: sekundžių skaičius tarp automatinio aptarnavimo paleidimo iš naujo
Paleisti iš naujo: apibrėžia aplinkybes, kuriomis Systemd automatiškai paleis dabartinę paslaugą, su galimomis reikšmėmis, tokiomis kaip visada, sėkmingai, nepavykus, nenormaliai, nutraukus, stebint
TimeoutSec: apibrėžia sekundžių skaičių, per kurį Systemd laukia prieš sustabdydama dabartinę paslaugą
Aplinka: nurodykite aplinkos kintamąjį


 Savininkas| Paskelbta 2021-12-11 17:37:33 |
Tipas = šakės
systemd mano, kad paslauga sėkmingai prasideda, kai aptarnavimo procesas yra išsišakojęs ir pirminis procesas išeina. Įprastiems demonams, nebent esate tikri, kad šis paleidimo būdas neatitinka jūsų poreikių, galite pradėti nuo šio tipo. Naudojant šį paleidimo tipą, PIDFile= taip pat turėtų būti nurodytas, kad systemd galėtų sekti pagrindinį paslaugos procesą

 Savininkas| Paskelbta 2021-12-15 16:55:14 |
Komanda EnvironmentFile

EnvironmentFile yra panašus į Environment direktyvą, tačiau nuskaito aplinkos kintamuosius iš tekstinio failo. Tekstiniame faile turi būti kintamųjų priskyrimai, atskirti eilučių lūžiais

pavyzdys

Galite paimti šį aplinkos failą ir naudoti jo kintamuosius taip:



 Savininkas| Paskelbta 2022-01-04 15:56:55 |
 Savininkas| Paskelbta 2022-01-05 09:48:21 |
"Docker" numatytasis paslaugos failo kelias /usr/lib/systemd/system/docker.service

 Savininkas| Paskelbta 2022-01-23 22:57:56 |
Peržiūrėti visas tarnybos būsenas



Užklauskite, ar paslauga įjungta, naudodami NFS kaip pavyzdį:

 Savininkas| Paskelbta 2025-02-25 17:01:08 |
Masinio paleidimo paslaugos, prasidedančios ABC

 Savininkas| Paskelbta 2025-04-11 15:57:14 |
DefaultTimeoutStartSec= ir DefaultTimeoutStopSec= numatytoji 90 sekundžių sistemos tvarkytuvėje ir 90 sekundžių vartotojų tvarkytuvėje.

Hipersaito prisijungimas matomas.

Peržiūrėkite nurodytos paslaugos konfigūraciją naudodami šią komandą:


Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com