Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 10964|Odpověď: 8

[linux] Linux systemd service manager podrobně vysvětlen

[Kopírovat odkaz]
Zveřejněno 28.11.2021 10:02:32 | | | |
systemd je sada základních stavebních bloků pro linuxové systémy. Poskytuje správce systému a služeb, který spustí a spustí zbytek systému jako PID 1.

systemd poskytuje agresivní možnosti paralelizace, používá sockety a aktivaci D-Bus k zahájení služeb, umožňuje spuštění démonů na vyžádání, používá linuxové řídicí skupiny ke sledování procesů, udržuje mounty a automatické body připojení a implementuje dobře navrženou logiku řízení služeb založenou na závislosti na transakcích. systemd podporuje iniciační skripty SysV a LSB a může nahradit sysvinit.

Další sekce zahrnují logové démony, nástroje pro řízení základních systémových konfigurací, jako jsou hostitelská jména, data, lokality, udržování seznamu přihlášených uživatelů a provozování kontejnerů a virtuálních strojů, systémové účty, adresáře a nastavení, stejně jako správu konfigurací démonů pro jednoduché sítě, synchronizaci síťového času, přesměrování logů a řešení jmen.

Systemd konfigurační soubor existuje v následujících třech složkách:         

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

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

/usr/lib/systemd/system 存放系统上所有的启动文件,优先级最低。
Přezkoumání:

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

Jenkins (4) Přidat linuxový uzel a zaregistrovat ho jako službu
https://www.itsvse.com/thread-10120-1-1.html

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

Profil jednotky

Jednotkový soubor v systemd je soubor, který kóduje informace o různých jednotkách, které systemd může spravovat, včetně služeb, socketů, zařízení a podobně. Tento průvodce se zaměřuje na služby, v takovém případě je jednotkový soubor, se kterým pracujeme, soubor .service. Konfigurační soubor varnish.service zařízení obsahuje informace o tom, jak by měl systemd spouštět, monitorovat a spravovat varnish démona.

Blok [Jednotka] je obvykle prvním blokem konfiguračního souboru a slouží k definování metadat jednotky a jejího vztahu k ostatním jednotkám. Hlavní pole jsou následující.

  • Popis: Krátký popis
  • Dokumentace: Adresa dokumentu
  • Vyžaduje: Další jednotky, na kterých současná jednotka spoléhá, a pokud neběží, současná jednotka nenastartuje
  • Chce: Ostatní jednotky, které spolupracují s aktuální jednotkou, pokud nefungují, aktuální jednotka nezabudne
  • BindsTo: Podobně jako Requires specifikuje jednotku, která způsobí, že aktuální jednotka přestane běžet, pokud vyjde
  • Předtím: Pokud má být také zahájena jednotka uvedená v tomto poli, musí být zahájena až po aktuální jednotce
  • Po: Pokud má být také zahájena jednotka uvedená v tomto poli, musí být zahájena před aktuální jednotkou
  • Konflikty: Jednotka uvedená zde nemůže běžet současně s aktuální jednotkou
  • Podmínka... : Podmínky, které musí být splněny, aby aktuální jednotka mohla běžet, jinak nebude fungovat
  • Tvrdit... : Podmínky, které musí být splněny, aby aktuální jednotka mohla fungovat, jinak bude selhání při startu nahlášeno

[Install] je obvykle poslední blok konfiguračního souboru, který definuje, jak bootovat a zda se má spustit. Hlavní pole jsou následující.

  • WantedBy: Jeho hodnota je jeden nebo více cílů, a když je aktuální jednotka aktivní (enable), symlink je umístěn do podadresáře pod adresářem /etc/systemd/system s příponou Target + .wants
  • RequiredBy: Jeho hodnota je jeden nebo více cílů, a když je aktuální jednotka aktivní, symlink bude umístěn do podadresáře pod adresářem /etc/systemd/system s příponou Target + .required
  • Alias: Alias, který může současná jednotka použít k začátku
  • Také: Když je aktivována aktuální jednotka, aktivují se současně i další jednotky

Blok [Service] se používá ke konfiguraci služby a pouze jednotky typu Service tento blok mají. Hlavní pole jsou následující.

  • Typ: Definuje chování procesu při startu. Má následující hodnoty.
  • Type=simple: Výchozí hodnota, spouštějte příkaz specifikovaný ExecStart pro spuštění hlavního procesu
  • type=forking: Fork vytvoří podproces z rodičovského procesu, který po vytvoření ihned ukončí
  • Type=oneshot: Jednorázový proces, Systemd počká, až aktuální služba skončí, než bude pokračovat ve spuštění
  • Type=dbus: Současná služba je zahájena přes D-Bus
  • type=notify: Když je aktuální služba zahájena, Systemd bude upozorněn a bude pokračovat v provádění
  • type=idle: Aktuální služba se spustí pouze tehdy, pokud jsou vykonány jiné úlohy
  • ExecStart: Příkaz pro spuštění aktuální služby
  • ExecStartPre: Příkaz provedený před zahájením aktuální služby
  • ExecStartPost: Příkaz vykonáný po spuštění aktuální služby
  • ExecReload: Příkaz, který se vykoná při restartu aktuální služby
  • ExecStop: Příkaz, který se vykoná, když je aktuální služba zastavena
  • ExecStopPost: Zastavte příkaz, který se vykoná při doručení
  • RestartSec: Počet sekund mezi automatickým obnovením služby
  • Restart: Definuje okolnosti, za kterých Systemd automaticky obnoví aktuální službu, s možnými hodnotami jako vždy, on-success, on-failure, on-abnormal, on-abort, on-abort, on-watchdog
  • TimeoutSec: Definuje počet sekund, které Systemd čeká před zastavením aktuální služby
  • Prostředí: Specifikujte proměnnou prostředí

Nástroj pro správu Systemctl

Správa programů v CentOS je v podstatě prováděna nástrojem systemctl.

Startupová služba:

Systemctl Start name.service

Ukončit provoz:

Systemctl stop name.service

Restart služby:

SystemCTL restart name.service

Zobrazit stav:

SystemCTL status name.service

Podmíněné restartování:

Pokud byla služba zahájena dříve, bude znovu spuštěna, a pokud není zahájena, nebude provozována

Systemctl try-restart name.service

Načíst nebo restartovat:

Nejprve načíst, a pokud není úspěšné, restartuj

SystemCTL reload-or-restart name.service

Načítání nebo podmíněný restart:

Systemctl reload-or-try-restart name.service

Nastavuje, zda může uživatel nastavit službu pro zahájení stavu

Systemctl unmask name.service

SystemCTL maska název.služba je zakázána

Zobrazit aktuální stav aktivace služby:

Hodnota návratu stavu příkazu zahájený službu je 0. Hodnota návratu stavu, který nebyl spuštěn, není 0

SystemCTL IS-active name.service

Zobrazit všechny služby, které byly aktivovány:

-t Specifikuje typ zobrazované jednotky.

--vše zobrazuje podrobnější seznam informací.

-ekvivalent --všechny

SystemCTL seznamové jednotky

SystemCTL List-Units -T služba

SystemCTL List-Units -t služba -a

Zobrazit všechny služby:

SystemCTL list-jednotky -a

Zobrazit všechny stavy služeb:

SystemCTL list-unit-files.

-a 、--all : Zobrazit stav všech služeb

-t 、--typ: Určuje typ jednotky, která má být zobrazena

načteno: Konfigurační soubor byl načten, načten do paměti

aktivní(běžící): Běhy, které jsou průběžně zpracovávány jednou nebo více

aktivní(ukončené): Jednorázová konfigurace je úspěšně dokončena

aktivní (čekání): Běh, čekání na událost

inactive:不运行

enabled:开机启动

disabled:开机不启动

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

Používá se k uvádění, na kterých úrovních provozu je služba povolena a zakázána

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

SystemCTL seznam-unit-soubory --typ cíl --vše

Nastavit službu tak, aby nezačala:

SystemCTL deaktivovat jednotku pro název služby

Zkontrolujte, zda je služba spuštěna a spuštěna:

Systemsctl je povolen name.service

Podívejte se na závislosti služeb:

SystemCTL List-dependencies Name.Service
SystemCTL List-Depebdencies

Těžká zátěž:

SystemCTL Daemon-Reload

Ukončit proces:

Název procesu zabíjení systemCTL

Prostředky:

Přihlášení k hypertextovému odkazu je viditelné.
Přihlášení k hypertextovému odkazu je viditelné.
Přihlášení k hypertextovému odkazu je viditelné.
Přihlášení k hypertextovému odkazu je viditelné.





Předchozí:Linux testuje konektivitu LDAP pomocí příkazu Curl
Další:Problém s oprávněním k nahrávání souborů VSFTP
 Pronajímatel| Zveřejněno 11.12.2021 17:35:26 |
[Jednotka]Blok je obvykle první blok konfiguračního souboru, který definuje metadata jednotky a jak se vztahuje k ostatním jednotkám. Hlavní pole jsou následující.

Popis: Krátký popis
Dokumentace: Adresa dokumentu
Vyžaduje: Další jednotky, na kterých současná jednotka spoléhá, a pokud neběží, současná jednotka nenastartuje
Chce: Ostatní jednotky, které spolupracují s aktuální jednotkou, pokud nefungují, aktuální jednotka nezabudne
BindsTo: Podobně jako Requires specifikuje jednotku, která způsobí, že aktuální jednotka přestane běžet, pokud vyjde
Předtím: Pokud má být také zahájena jednotka uvedená v tomto poli, musí být zahájena až po aktuální jednotce
Po: Pokud má být také zahájena jednotka uvedená v tomto poli, musí být zahájena před aktuální jednotkou
Konflikty: Jednotka uvedená zde nemůže běžet současně s aktuální jednotkou
Podmínka... : Podmínky, které musí být splněny, aby aktuální jednotka mohla běžet, jinak nebude fungovat
Tvrdit... : Podmínky, které musí být splněny, aby aktuální jednotka mohla fungovat, jinak bude selhání při startu nahlášeno
[Instalace]Obvykle je to poslední blok konfiguračního souboru, který určuje, jak bootovat a zda se má spustit. Hlavní pole jsou následující.

WantedBy: Jeho hodnota je jeden nebo více cílů, a když je aktuální jednotka aktivní (enable), symlink je umístěn do podadresáře pod adresářem /etc/systemd/system s příponou Target + .wants
RequiredBy: Jeho hodnota je jeden nebo více cílů, a když je aktuální jednotka aktivní, symlink bude umístěn do podadresáře pod adresářem /etc/systemd/system s příponou Target + .required
Alias: Alias, který může současná jednotka použít k začátku
Také: Když je aktivována aktuální jednotka, aktivují se současně i další jednotky
[Služba]Bloky se používají ke konfiguraci služeb a pouze jednotky typu Service mají tento blok. Hlavní pole jsou následující.

Typ: Definuje chování procesu při startu. Má následující hodnoty.
Type=simple: Výchozí hodnota, spouštějte příkaz specifikovaný ExecStart pro spuštění hlavního procesu
type=forking: Fork vytvoří podproces z rodičovského procesu, který po vytvoření ihned ukončí
Type=oneshot: Jednorázový proces, Systemd počká, až aktuální služba skončí, než bude pokračovat ve spuštění
Type=dbus: Současná služba je zahájena přes D-Bus
type=notify: Když je aktuální služba zahájena, Systemd bude upozorněn a bude pokračovat v provádění
type=idle: Aktuální služba se spustí pouze tehdy, pokud jsou vykonány jiné úlohy
ExecStart: Příkaz pro spuštění aktuální služby
ExecStartPre: Příkaz provedený před zahájením aktuální služby
ExecStartPost: Příkaz vykonáný po spuštění aktuální služby
ExecReload: Příkaz, který se vykoná při restartu aktuální služby
ExecStop: Příkaz, který se vykoná, když je aktuální služba zastavena
ExecStopPost: Zastavte příkaz, který se vykoná při doručení
RestartSec: Počet sekund mezi automatickým obnovením služby
Restart: Definuje okolnosti, za kterých Systemd automaticky obnoví aktuální službu, s možnými hodnotami jako vždy, on-success, on-failure, on-abnormal, on-abort, on-abort, on-watchdog
TimeoutSec: Definuje počet sekund, které Systemd čeká před zastavením aktuální služby
Prostředí: Specifikujte proměnnou prostředí


 Pronajímatel| Zveřejněno 11.12.2021 17:37:33 |
Type=forking
Systemd se domnívá, že služba se úspěšně spustí, když je servisní proces rozdělen a rodičovský proces ukončí provoz. U běžných démonů, pokud si nejste jistí, že tato metoda startování nesplňuje vaše potřeby, můžete začít právě s tímto typem. U tohoto typu startu by měl být také specifikován PIDFile=, aby systemd mohl sledovat hlavní proces služby

 Pronajímatel| Zveřejněno 15.12.2021 16:55:14 |
Příkaz EnvironmentFile

EnvironmentFile je podobný direktivě Environment, ale čte proměnné prostředí z textového souboru. Textový soubor by měl obsahovat přiřazení proměnných oddělených zalomením řádků

příklad

Tento soubor prostředí můžete použít následovně:



 Pronajímatel| Zveřejněno 04.01.2022 15:56:55 |
 Pronajímatel| Zveřejněno 05.01.2022 9:48:21 |
Výchozí cesta k souboru služby dockeru /usr/lib/systemd/system/docker.service

 Pronajímatel| Zveřejněno 23.01.2022 22:57:56 |
Zobrazit všechny stavy služeb



Dotazujte se, zda je služba zapnutá, použijte NFS jako příklad:

 Pronajímatel| Zveřejněno 25.02.2025 17:01:08 |
Hromadné spuštění služeb, které začínají ABC

 Pronajímatel| Zveřejněno 11.04.2025 15:57:14 |
DefaultTimeoutStartSec= a DefaultTimeoutStopSec= výchozí 90 sekund v Správci systému a 90 sekund ve Správci uživatelů.

Přihlášení k hypertextovému odkazu je viditelné.

Zobrazit konfiguraci specifikované služby pomocí následujícího příkazu:


Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com