Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 10964|Odpoveď: 8

[linux] Linux systemd service manager podrobne vysvetlený

[Kopírovať odkaz]
Zverejnené 28. 11. 2021 10:02:32 | | | |
systemd je súbor základných stavebných blokov pre linuxové systémy. Poskytuje správcu systému a služieb, ktorý spúšťa a spúšťa zvyšok systému ako PID 1.

systemd poskytuje agresívne možnosti paralelizácie, využíva sockety a aktiváciu D-Bus na spustenie služieb, poskytuje spustenie démonov na požiadanie, používa Linuxové riadiace skupiny na sledovanie procesov, udržiava mounty a automatické mountovacie body a implementuje dobre navrhnutú logiku riadenia služieb založenú na závislosti od transakcií. systemd podporuje SysV a LSB init skripty a môže nahradiť sysvinit.

Ďalšie sekcie zahŕňajú logové démony, nástroje na ovládanie základných systémových konfigurácií, ako sú názvy hostiteľov, dátumy, lokality, udržiavanie zoznamu prihlásených používateľov a bežiacich kontajnerov a virtuálnych strojov, systémové účty, adresáre v behu a nastavenia, ako aj správu konfigurácií démonov pre jednoduché siete, synchronizáciu sieťového času, preposielanie logov a riešenie mien.

Systemd konfiguračný súbor existuje v nasledujúcich troch priečinkoch:         

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

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

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

Linux sleduje výstup logu služby Systemd
https://www.itsvse.com/thread-10154-1-1.html

Jenkins (4) Pridať Linuxový uzol a zaregistrovať ho ako službu
https://www.itsvse.com/thread-10120-1-1.html

CentOS 7 inštaluje exportér Node
https://www.itsvse.com/thread-9969-1-1.html

Profil jednotky

Jednotkový súbor v systemd je súbor, ktorý kóduje informácie o rôznych jednotkách, ktoré systemd dokáže spravovať, vrátane služieb, socketov, zariadení a podobne. Tento sprievodca sa zameriava na služby, v takom prípade je jednotkový súbor, s ktorým pracujeme, súbor .service. Konfiguračný súbor varnish.service device obsahuje informácie o tom, ako by mal systemd vykonávať, monitorovať a spravovať varnish démona.

Blok [Jednotka] je zvyčajne prvým blokom konfiguračného súboru a používa sa na definovanie metadát jednotky a jej vzťahu k ostatným jednotkám. Jeho hlavné oblasti sú nasledovné.

  • Popis: Krátky popis
  • Dokumentácia: Adresa dokumentu
  • Vyžaduje: Iné jednotky, na ktorých aktuálna jednotka závisí, a ak nefungujú, aktuálna jednotka sa nespustí
  • Chce: Ostatné jednotky, ktoré pracujú s aktuálnou jednotkou, ak nefungujú, aktuálna jednotka nezabudne spustiť
  • BindsTo: Podobne ako Revis, špecifikuje jednotku, ktorá spôsobí, že aktuálna jednotka prestane bežať, ak vystúpi
  • Predtým: Ak sa má začať aj jednotka špecifikovaná v tomto poli, musí byť spustená po aktuálnej jednotke
  • Potom: Ak má byť jednotka špecifikovaná v tomto poli tiež spustená, musí byť spustená pred aktuálnou jednotkou
  • Konflikty: Jednotka uvedená tu nemôže bežať súčasne s aktuálnou jednotkou
  • Podmienka... : Podmienky, ktoré musia byť splnené, aby aktuálna jednotka mohla bežať, inak nebude bežať
  • Tvrdiť... : Podmienky, ktoré musia byť splnené, aby súčasná jednotka mohla fungovať, inak bude zlyhanie pri štarte nahlásené

[Install] je zvyčajne posledný blok konfiguračného súboru, ktorý určuje, ako sa má nabootovať a či sa má spustiť. Jeho hlavné oblasti sú nasledovné.

  • WantedBy: Jeho hodnota je jeden alebo viac cieľov, a keď je aktuálna jednotka aktívna (enable), symlink sa umiestni do podadresára pod adresárom /etc/systemd/system s príponou Target name + .wants
  • RequiredBy: Jeho hodnota je jeden alebo viac cieľov, a keď je aktuálna jednotka aktívna, symlink bude umiestnený v podadresári pod adresárom /etc/systemd/system s príponou Target + .required.
  • Alias: Alias, ktorý môže aktuálna jednotka použiť na začiatok
  • Tiež: Keď je aktuálna jednotka aktivovaná, ostatné jednotky sa aktivujú súčasne

Na konfiguráciu služby sa používa blok [Service] a tento blok majú len jednotky typu Service. Jeho hlavné oblasti sú nasledovné.

  • Typ: Definuje správanie procesu pri štarte. Má nasledujúce hodnoty.
  • Type=simple: Predvolená hodnota, vykonať príkaz špecifikovaný ExecStart na spustenie hlavného procesu
  • type=forking: Fork vytvorí podproces, ktorý sa okamžite po vytvorení ukončí
  • Type=oneshot: Jednorazový proces, Systemd počká, kým aktuálna služba skončí, aby mohol pokračovať vo vykonávaní
  • Typ=dbus: Súčasná služba sa spúšťa cez D-Bus
  • type=notify: Keď sa spustí aktuálna služba, Systemd bude upozornený a bude pokračovať vo vykonávaní
  • type=idle: Aktuálna služba sa spustí len v prípade, že sa spustia iné úlohy
  • ExecStart: Príkaz na spustenie aktuálnej služby
  • ExecStartPre: Príkaz vykonaný pred spustením aktuálnej služby
  • ExecStartPost: Príkaz vykonaný po spustení aktuálnej služby
  • ExecReload: Príkaz, ktorý sa vykoná pri reštarte aktuálnej služby
  • ExecStop: Príkaz, ktorý sa vykoná, keď je aktuálna služba zastavená
  • ExecStopPost: Zastavte príkaz, ktorý sa vykoná, keď je doručený
  • RestartSec: Počet sekúnd medzi automatickou službou a reštartom aktuálnej služby
  • Restart: Definuje okolnosti, za ktorých Systemd automaticky obnoví aktuálnu službu, s možnými hodnotami ako vždy, on-succeed, on-fail, on-abnormal, on-abort, on-abort, on-watchdog
  • TimeoutSec: Definuje počet sekúnd, ktoré Systemd čaká pred zastavením aktuálnej služby
  • Prostredie: Špecifikovať premennú prostredia

Nástroj na správu Systemctl

Správa programov v CentOS je v podstate zabezpečená nástrojom systemctl.

Startupová služba:

Systemctl Start name.service

Ukončiť prevádzku:

Systemctl stop name.service

Reštart služby:

SystemCTL Restart Name.Service

Zobraziť stav:

SystemCTL stavový názov.služba

Podmienený reštart:

Ak bola služba spustená skôr, bude znovu spustená, a ak služba nie je spustená, nebude prevádzkovaná

Systemctl try-restart name.service

Načítať alebo reštartovať:

Najprv načítajte, a ak načítanie neuspeje, reštartujte

SystemCTL reload-or-restart name.service

Načítanie alebo podmienený reštart:

SystemCTL reload-or-try-restart name.service

Nastavuje, či môže používateľ nastaviť službu na spustenie stavu

Systemctl unmask name.service

SystemCTL maska názov.služba je zakázaná

Pozrite si aktuálny stav aktivácie služby:

Hodnota návratu stavu príkazu spustená služba je 0 Hodnota vrátenia stavu príkazu, ktorý nebol spustený, nie je 0

SystemCTL IS-Active Name.Service

Pozrite si všetky služby, ktoré boli aktivované:

-t Špecifikuje typ zobrazovanej jednotky.

--všetky zobrazujú podrobnejší zoznam informácií.

-ekvivalent --všetky

SystemCTL zoznamové jednotky

SystemCTL List-Units -T služba

SystemCTL zoznamové jednotky -t služba -a

Pozrite si všetky služby:

SystemCTL zoznamové jednotky -a

Zobraziť všetky stavy služieb:

SystemCTL zoznamové jednotkové súbory

-a 、--all : Zobraziť stav všetkých služieb

-t 、--typ: Určuje typ jednotky, ktorá sa má zobraziť

načítaný: Konfiguračný súbor bol načítaný, uložený do pamäte

active(running): Behy, ktoré sa kontinuálne spracovávajú jeden alebo viackrát

active(exited): Jednorazová konfigurácia je úspešne dokončená

aktívne(čakanie): Bežím, čakám na udalosť

inactive:不运行

enabled:开机启动

disabled:开机不启动

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

Používa sa na uvádzanie, na ktorých úrovniach prevádzky je služba povolená a vypnutá

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

SystemCTL zoznam-unit-súbory --typ cieľa --všetky

Nastaviť, aby služba nezačala:

SystemCTL Disable Service name unit

Skontrolujte, či je služba spustená a spustená:

Name.service s povolením systemctl

Pozrite sa na závislosti služieb:

SystemCTL List-dependencies Name.Service
SystemCTL List-Depebdencies

Služba pri ťažkej záťaži:

SystemCTL Daemon-Reload

Zrušte proces:

Názov procesu zabíjania systemctl

Zdroje:

Prihlásenie na hypertextový odkaz je viditeľné.
Prihlásenie na hypertextový odkaz je viditeľné.
Prihlásenie na hypertextový odkaz je viditeľné.
Prihlásenie na hypertextový odkaz je viditeľné.





Predchádzajúci:Linux testuje LDAP konektivitu pomocou príkazu Curl
Budúci:Problém s povolením na nahrávanie súboru VSFTP
 Prenajímateľ| Zverejnené 11. 12. 2021 17:35:26 |
[Jednotka]Blok je zvyčajne prvý blok konfiguračného súboru, ktorý definuje metadáta jednotky a ich vzťah k ostatným jednotkám. Jeho hlavné oblasti sú nasledovné.

Popis: Krátky popis
Dokumentácia: Adresa dokumentu
Vyžaduje: Iné jednotky, na ktorých aktuálna jednotka závisí, a ak nefungujú, aktuálna jednotka sa nespustí
Chce: Ostatné jednotky, ktoré pracujú s aktuálnou jednotkou, ak nefungujú, aktuálna jednotka nezabudne spustiť
BindsTo: Podobne ako Revis, špecifikuje jednotku, ktorá spôsobí, že aktuálna jednotka prestane bežať, ak vystúpi
Predtým: Ak sa má začať aj jednotka špecifikovaná v tomto poli, musí byť spustená po aktuálnej jednotke
Potom: Ak má byť jednotka špecifikovaná v tomto poli tiež spustená, musí byť spustená pred aktuálnou jednotkou
Konflikty: Jednotka uvedená tu nemôže bežať súčasne s aktuálnou jednotkou
Podmienka... : Podmienky, ktoré musia byť splnené, aby aktuálna jednotka mohla bežať, inak nebude bežať
Tvrdiť... : Podmienky, ktoré musia byť splnené, aby súčasná jednotka mohla fungovať, inak bude zlyhanie pri štarte nahlásené
[Inštalácia]Zvyčajne je to posledný blok konfiguračného súboru, ktorý určuje, ako nabootovať a či sa spustiť. Jeho hlavné oblasti sú nasledovné.

WantedBy: Jeho hodnota je jeden alebo viac cieľov, a keď je aktuálna jednotka aktívna (enable), symlink sa umiestni do podadresára pod adresárom /etc/systemd/system s príponou Target name + .wants
RequiredBy: Jeho hodnota je jeden alebo viac cieľov, a keď je aktuálna jednotka aktívna, symlink bude umiestnený v podadresári pod adresárom /etc/systemd/system s príponou Target + .required.
Alias: Alias, ktorý môže aktuálna jednotka použiť na začiatok
Tiež: Keď je aktuálna jednotka aktivovaná, ostatné jednotky sa aktivujú súčasne
[Služba]Bloky sa používajú na konfiguráciu služieb a iba jednotky typu Service majú tento blok. Jeho hlavné oblasti sú nasledovné.

Typ: Definuje správanie procesu pri štarte. Má nasledujúce hodnoty.
Type=simple: Predvolená hodnota, vykonať príkaz špecifikovaný ExecStart na spustenie hlavného procesu
type=forking: Fork vytvorí podproces, ktorý sa okamžite po vytvorení ukončí
Type=oneshot: Jednorazový proces, Systemd počká, kým aktuálna služba skončí, aby mohol pokračovať vo vykonávaní
Typ=dbus: Súčasná služba sa spúšťa cez D-Bus
type=notify: Keď sa spustí aktuálna služba, Systemd bude upozornený a bude pokračovať vo vykonávaní
type=idle: Aktuálna služba sa spustí len v prípade, že sa spustia iné úlohy
ExecStart: Príkaz na spustenie aktuálnej služby
ExecStartPre: Príkaz vykonaný pred spustením aktuálnej služby
ExecStartPost: Príkaz vykonaný po spustení aktuálnej služby
ExecReload: Príkaz, ktorý sa vykoná pri reštarte aktuálnej služby
ExecStop: Príkaz, ktorý sa vykoná, keď je aktuálna služba zastavená
ExecStopPost: Zastavte príkaz, ktorý sa vykoná, keď je doručený
RestartSec: Počet sekúnd medzi automatickou službou a reštartom aktuálnej služby
Restart: Definuje okolnosti, za ktorých Systemd automaticky obnoví aktuálnu službu, s možnými hodnotami ako vždy, on-succeed, on-fail, on-abnormal, on-abort, on-abort, on-watchdog
TimeoutSec: Definuje počet sekúnd, ktoré Systemd čaká pred zastavením aktuálnej služby
Prostredie: Špecifikovať premennú prostredia


 Prenajímateľ| Zverejnené 11. 12. 2021 17:37:33 |
Typ=forkovanie
Systemd si myslí, že služba sa úspešne spustí, keď je servisný proces rozdelený a rodičovský proces ukončí činnosť. Pre bežných démonov, pokiaľ si nie ste istí, že tento spôsob štartovania nevyhovuje vašim potrebám, môžete začať s týmto typom. Pri tomto type štartu by mal byť tiež špecifikovaný PIDFile=, aby systemd mohol sledovať hlavný proces služby

 Prenajímateľ| Zverejnené 15. 12. 2021 16:55:14 |
Príkaz EnvironmentFile

EnvironmentFile je podobný direktíve Environment, ale číta environmentálne premenné z textového súboru. Textový súbor by mal obsahovať priradenia premenných oddelené zalomením riadku

príklad

Tento súbor prostredia môžete použiť nasledovne:



 Prenajímateľ| Zverejnené 4. 1. 2022 15:56:55 |
 Prenajímateľ| Zverejnené 5. 1. 2022 9:48:21 |
Dockerova predvolená cesta k súboru služby /usr/lib/systemd/system/docker.service

 Prenajímateľ| Zverejnené 23. 1. 2022 22:57:56 |
Zobraziť všetky stavy služby



Opýtajte sa, či je služba zapnutá, na príklade NFS:

 Prenajímateľ| Zverejnené 25. 2. 2025 17:01:08 |
Hromadné spustenie služieb, ktoré začínajú s ABC

 Prenajímateľ| Zverejnené 11. 4. 2025 15:57:14 |
DefaultTimeoutStartSec= a DefaultTimeoutStopSec= predvolene 90 sekúnd v Správcovi systému a 90 sekúnd v Správcovi používateľov.

Prihlásenie na hypertextový odkaz je viditeľné.

Zobraziť konfiguráciu špecifikovanej služby pomocou nasledujúceho príkazu:


Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com