Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 10964|Odgovoriti: 8

[linux] Linux systemd service manager je podrobno razložen

[Kopiraj povezavo]
Objavljeno na 28. 11. 2021 10:02:32 | | | |
systemd je nabor osnovnih gradnikov za Linux sisteme. Zagotavlja upravljalnik sistema in storitev, ki zažene in zažene preostanek sistema kot PID 1.

systemd omogoča agresivno paralelizacijo, uporablja sockete in aktivacijo D-Busa za zagon storitev, omogoča zagon demonov na zahtevo, uporablja Linux kontrolne skupine za sledenje procesom, vzdržuje montaže in samodejne točke montaže ter implementira dobro zasnovano logiko storitve, ki temelji na transakcijah. systemd podpira SysV in LSB init skripte ter lahko nadomesti sysvinit.

Drugi razdelki vključujejo dnevnik demone, orodja za nadzor osnovnih sistemskih konfiguracij, kot so imena gostiteljev, datumi, lokacije, vzdrževanje seznama prijavljenih uporabnikov in izvajanje kontejnerjev ter virtualnih strojev, sistemske račune, imenike za izvajanje in nastavitve, pa tudi upravljanje konfiguracij demonov za preprosta omrežja, sinhronizacijo omrežnega časa, posredovanje dnevnikov in reševanje imen.

Systemd konfiguracijska datoteka obstaja v naslednjih treh mapah:         

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

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

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

Linux preučuje izhod dnevnika storitve Systemd
https://www.itsvse.com/thread-10154-1-1.html

Jenkins (4) Dodaj Linux vozlišče in ga registriraj kot storitev
https://www.itsvse.com/thread-10120-1-1.html

CentOS 7 namesti izvoznik vozlišč
https://www.itsvse.com/thread-9969-1-1.html

Profil enote

Enotska datoteka v systemd je datoteka, ki kodira informacije o različnih enotah, ki jih systemd lahko upravlja, vključno s storitvami, vtičniki, napravami in podobno. Ta vodič se osredotoča na storitve, v tem primeru je enotna datoteka, s katero delamo, .service datoteka. Konfiguracijska datoteka varnish.service vsebuje informacije o tem, kako naj systemd izvaja, spremlja in upravlja varnish demona.

Blok [Enota] je običajno prvi blok konfiguracijske datoteke in se uporablja za definiranje metapodatkov enote ter njenega odnosa do drugih enot. Njena glavna področja so naslednja.

  • Opis: Kratek opis
  • Dokumentacija: Naslov dokumenta
  • Zahteva: Druge enote, od katerih trenutna enota deluje, in če ne delujejo, trenutna enota ne bo zagnala
  • Želi: Druge enote, ki delujejo s trenutno enoto, če ne delujejo, trenutna enota ne bo zapustila zagona
  • BindsTo: Podobno kot zahteva določa enoto, ki povzroči, da trenutna enota preneha delovati, če izstopi
  • Prej: Če se začne tudi enota, določena v tem polju, mora biti začeta po trenutni enoti
  • Potem: Če se začne tudi enota, navedena v tem polju, mora biti začeta pred trenutno enoto
  • Konflikti: Enota, navedena tukaj, ne more delovati istočasno kot trenutna enota
  • Pogoj... : Pogoji, ki morajo biti izpolnjeni, da trenutna enota deluje, sicer ne bo delovala
  • Uveljavljajo... : Pogoji, ki morajo biti izpolnjeni za delovanje trenutne enote, sicer bo okvara zagona prijavljena

[Install] je običajno zadnji blok konfiguracijske datoteke, ki določa, kako zagnati in ali se zagnati. Njena glavna področja so naslednja.

  • WantedBy: Njena vrednost je ena ali več Targets, in ko je trenutna enota aktivna (enable), se symlink postavi v podimenik pod mapo /etc/systemd/system z pripono Target name + .wants
  • RequiredBy: Njena vrednost je ena ali več Targets, in ko je trenutna enota aktivna, bo symlink postavljen v podmapnik pod mapo /etc/systemd/system z imenom Target + .required
  • Vzdevek: Vzdevek, ki ga trenutna enota lahko uporabi za začetek
  • Prav tako: Ko je trenutna enota aktivirana, se hkrati aktivirajo tudi druge enote

Blok [Service] se uporablja za konfiguracijo storitve, in le enote tipa storitve imajo ta blok. Njena glavna področja so naslednja.

  • Tip: Določa obnašanje procesa ob zagonu. Ima naslednje vrednosti.
  • Type=simple: Privzeta vrednost, izvedi ukaz, ki ga določi ExecStart za začetek glavnega procesa
  • type=forking: Fork ustvari podroben proces iz starševskega procesa, ki takoj po ustvarjanju zapusti
  • Type=oneshot: Enkratni proces, Systemd počaka, da trenutna storitev zapusti, preden nadaljuje z izvajanjem
  • Tip=dbus: Trenutna storitev se začne preko D-Bus
  • type=notify: Ko se trenutna storitev začne, bo Systemd obveščen in bo nadaljeval izvajanje
  • type=idle: Trenutna storitev se bo izvajala le, če se izvajajo druge naloge
  • ExecStart: Ukaz za začetek trenutne storitve
  • ExecStartPre: Ukaz, izveden pred začetkom trenutne storitve
  • ExecStartPost: Ukaz, ki se izvede po začetku trenutne storitve
  • ExecReload: Ukaz, ki se izvede ob ponovnem zagonu trenutne storitve
  • ExecStop: Ukaz, ki se izvede, ko je trenutna storitev ustavljena
  • ExecStopPost: Ustavi ukaz, ki se izvede, ko je vročen
  • RestartSec: Število sekund med samodejno storitvijo in ponovnim ponovnim zagonom trenutne storitve
  • Ponovni zagon: Določa okoliščine, v katerih bo Systemd samodejno ponovno zagnal trenutno storitev, z možnimi vrednostmi, kot so vedno, on-successful, on-fail, on-abnormal, on-abort, on-watchdog
  • TimeoutSec: Določa število sekund, ki jih Systemd čaka, preden ustavi trenutno storitev
  • Okolje: Določite spremenljivko okolja

Orodje za upravljanje Systemctl

Upravljanje programov v CentOS v bistvu izvaja orodje systemctl.

Zagonska storitev:

Systemctl Start name.service

Prekinitev storitve:

Systemctl stop name.service

Ponovni zagon storitve:

Systemctl restart name.service

Oglejte si status:

SystemCTL status name.service

Pogojni ponovni zagon:

Če je bila storitev zagnana prej, se ponovno zažene, če pa se storitev ne začne, ne bo več obratovana

Systemctl try-restart name.service

Ponovno naloži ali ponovno:

Najprej naloži, in če nalaganje ne uspe, ponovno zaženi računalnik

Systemctl reload-or-restart name.service

Ponovno naložitev ali pogojni ponovni ponovni zagon:

SystemCTL reload-or-try-restart name.service

Določa, ali lahko uporabnik nastavi storitev za začetek stanja

Systemctl unmask name.service

SystemCTL maska ime.storitev je prepovedana

Oglejte si trenutni status aktivacije storitve:

Vrednost statusa, ki se vrne ukaza storitev je začeta, je 0. Vrednost statusa, ki ni bil zagnan ukaza, ni 0

SystemCTL is-active name.service

Oglejte si vse storitve, ki so bile aktivirane:

-t Določa vrsto prikazane enote.

--vse prikazuje bolj podroben seznam informacij.

-ekvivalent --vsi

SystemCTL seznam-enote

SystemCTL List-Units -T storitev

SystemCTL seznam-enote -t storitev -a

Oglejte si vse storitve:

SystemCTL seznam-enote -a

Oglejte si vse statuse storitev:

SystemCTL seznam-enotne datoteke

-a 、--vsi : Oglejte si status vseh storitev

-t 、--tip: Določa vrsto enote, ki jo želimo videti

naloženo: Konfiguracijska datoteka je bila naložena, naložena v pomnilnik

aktivno(tekoče): Izvajanja, ki se neprekinjeno obdelujejo enkrat ali večkrat

aktivno(izhodno): Enkratna konfiguracija je uspešno zaključena

aktivno (čaka): Tek, čakanje na dogodek

inactive:不运行

enabled:开机启动

disabled:开机不启动

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

Uporablja se za navajanje, na katerih ravneh delovanja je storitev omogočena in onemogočena

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

SystemCTL seznam-enote-datoteke --tip cilj --vse

Nastaviti, da storitev ne začne:

SystemCTL onemogoči enoto za ime storitve

Preverite, ali je storitev zagnana in zagnana:

SystemCTL je omogočeno ime.storitev

Poglejte odvisnosti storitev:

SystemCTL list-dependencies name.service
SystemCTL List-Depebdencies

Storitev za težke obremenitve:

Systemctl Daemon-Reload

Ustavite proces:

SystemCTL ime postopka za ukinitev

Sredstva:

Prijava do hiperpovezave je vidna.
Prijava do hiperpovezave je vidna.
Prijava do hiperpovezave je vidna.
Prijava do hiperpovezave je vidna.





Prejšnji:Linux preizkuša LDAP povezljivost z ukazom Curl
Naslednji:Težava z dovoljenjem za nalaganje datotek VSFTP
 Najemodajalec| Objavljeno na 11. 12. 2021 17:35:26 |
[Enota]Blok je običajno prvi blok konfiguracijske datoteke, ki določa metapodatke enote in kako se povezuje z drugimi enotami. Njena glavna področja so naslednja.

Opis: Kratek opis
Dokumentacija: Naslov dokumenta
Zahteva: Druge enote, od katerih trenutna enota deluje, in če ne delujejo, trenutna enota ne bo zagnala
Želi: Druge enote, ki delujejo s trenutno enoto, če ne delujejo, trenutna enota ne bo zapustila zagona
BindsTo: Podobno kot zahteva določa enoto, ki povzroči, da trenutna enota preneha delovati, če izstopi
Prej: Če se začne tudi enota, določena v tem polju, mora biti začeta po trenutni enoti
Potem: Če se začne tudi enota, navedena v tem polju, mora biti začeta pred trenutno enoto
Konflikti: Enota, navedena tukaj, ne more delovati istočasno kot trenutna enota
Pogoj... : Pogoji, ki morajo biti izpolnjeni, da trenutna enota deluje, sicer ne bo delovala
Uveljavljajo... : Pogoji, ki morajo biti izpolnjeni za delovanje trenutne enote, sicer bo okvara zagona prijavljena
[Namestitev]Običajno je to zadnji blok konfiguracijske datoteke, ki določa, kako zagnati in ali se zagnati. Njena glavna področja so naslednja.

WantedBy: Njena vrednost je ena ali več Targets, in ko je trenutna enota aktivna (enable), se symlink postavi v podimenik pod mapo /etc/systemd/system z pripono Target name + .wants
RequiredBy: Njena vrednost je ena ali več Targets, in ko je trenutna enota aktivna, bo symlink postavljen v podmapnik pod mapo /etc/systemd/system z imenom Target + .required
Vzdevek: Vzdevek, ki ga trenutna enota lahko uporabi za začetek
Prav tako: Ko je trenutna enota aktivirana, se hkrati aktivirajo tudi druge enote
[Postrežba]Bloki se uporabljajo za konfiguracijo storitev, in le enote tipa Service imajo ta blok. Njena glavna področja so naslednja.

Tip: Določa obnašanje procesa ob zagonu. Ima naslednje vrednosti.
Type=simple: Privzeta vrednost, izvedi ukaz, ki ga določi ExecStart za začetek glavnega procesa
type=forking: Fork ustvari podroben proces iz starševskega procesa, ki takoj po ustvarjanju zapusti
Type=oneshot: Enkratni proces, Systemd počaka, da trenutna storitev zapusti, preden nadaljuje z izvajanjem
Tip=dbus: Trenutna storitev se začne preko D-Bus
type=notify: Ko se trenutna storitev začne, bo Systemd obveščen in bo nadaljeval izvajanje
type=idle: Trenutna storitev se bo izvajala le, če se izvajajo druge naloge
ExecStart: Ukaz za začetek trenutne storitve
ExecStartPre: Ukaz, izveden pred začetkom trenutne storitve
ExecStartPost: Ukaz, ki se izvede po začetku trenutne storitve
ExecReload: Ukaz, ki se izvede ob ponovnem zagonu trenutne storitve
ExecStop: Ukaz, ki se izvede, ko je trenutna storitev ustavljena
ExecStopPost: Ustavi ukaz, ki se izvede, ko je vročen
RestartSec: Število sekund med samodejno storitvijo in ponovnim ponovnim zagonom trenutne storitve
Ponovni zagon: Določa okoliščine, v katerih bo Systemd samodejno ponovno zagnal trenutno storitev, z možnimi vrednostmi, kot so vedno, on-successful, on-fail, on-abnormal, on-abort, on-watchdog
TimeoutSec: Določa število sekund, ki jih Systemd čaka, preden ustavi trenutno storitev
Okolje: Določite spremenljivko okolja


 Najemodajalec| Objavljeno na 11. 12. 2021 17:37:33 |
Tip=razvejanje
Systemd meni, da se storitev uspešno začne, ko je proces storitve razcepljen in starševski proces zapusti. Za običajne demone, razen če niste prepričani, da ta metoda zagona ne ustreza vašim potrebam, lahko začnete s to vrsto. Pri tej vrsti zagona je treba določiti tudi PIDFile=, da lahko systemd sledi glavnemu procesu storitve

 Najemodajalec| Objavljeno na 15. 12. 2021 16:55:14 |
Ukaz EnvironmentFile

EnvironmentFile je podoben direktivi Okolje, vendar bere okoljske spremenljivke iz besedilne datoteke. Besedilna datoteka mora vsebovati dodelitev spremenljivk, ločenih z prelomi vrstic

primer

Lahko vzamete to datoteko okolja in uporabite njene spremenljivke na naslednji način:



 Najemodajalec| Objavljeno na 4. 01. 2022 15:56:55 |
 Najemodajalec| Objavljeno na 5. 01. 2022 09:48:21 |
Privzeta pot do datoteke docker service /usr/lib/systemd/system/docker.service

 Najemodajalec| Objavljeno na 23. 01. 2022 22:57:56 |
Oglejte si vse statuse službe



Preverite, ali je storitev vklopljena, pri čemer uporabite NFS kot primer:

 Najemodajalec| Objavljeno na 25. 02. 2025 17:01:08 |
Večje zagon storitev, ki se začnejo z ABC

 Najemodajalec| Objavljeno na 11. 04. 2025 15:57:14 |
DefaultTimeoutStartSec= in DefaultTimeoutStopSec= privzeto 90 sekund v Upravitelju sistema in 90 sekund v Upravitelju uporabnikov.

Prijava do hiperpovezave je vidna.

Konfiguracijo določene storitve si oglejte z naslednjim ukazom:


Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com