Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 10964|Svar: 8

[linux] Linux systemd service manager forklaret i detaljer

[Kopier link]
Opslået på 28/11/2021 10.02.32 | | | |
systemd er et sæt grundlæggende byggesten til Linux-systemer. Den leverer et system og en servicemanager, der kører og starter resten af systemet som PID 1.

systemd tilbyder aggressive paralleliseringsmuligheder, bruger sockets og D-Bus-aktivering til at starte tjenester, tilbyder on-demand start af daemoner, bruger Linux-kontrolgrupper til at spore processer, vedligeholder mounts og auto-mount-punkter samt implementerer veludformet transaktionsafhængig servicekontrollogik. systemd understøtter SysV- og LSB-init-scripts og kan erstatte sysvinit.

Andre sektioner inkluderer logdæmoner, værktøjer til at styre grundlæggende systemkonfigurationer såsom værtsnavne, datoer, lokaliteter, vedligeholdelse af en liste over indloggede brugere og kørende containere og virtuelle maskiner, systemkonti, runtime-mapper og indstillinger samt håndtering af daemon-konfigurationer for simple netværk, netværkstidssynkronisering, logvideresendelse og navneopløsning.

Systemd-konfigurationsfilen findes i følgende tre mapper:         

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

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

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

Linux ser på logoutputtet fra Systemd-tjenesten
https://www.itsvse.com/thread-10154-1-1.html

Jenkins (4) Tilføj en Linux-node og registrer den som en tjeneste
https://www.itsvse.com/thread-10120-1-1.html

CentOS 7 installerer Node-eksportøren
https://www.itsvse.com/thread-9969-1-1.html

Enhedsprofil

En enhedsfil i systemd er en fil, der koder information om de forskellige enheder, systemd kan administrere, herunder tjenester, sockets, enheder og så videre. Denne guide fokuserer på services, og i så fald er den enhedsfil, vi arbejder med, .service-filen. varnish.service enhedskonfigurationsfilen indeholder information om, hvordan systemd skal eksekvere, overvåge og administrere varnish-daemonen.

[Enhed]-blokken er normalt den første blok i konfigurationsfilen og bruges til at definere metadata for enheden og hvordan den relaterer sig til andre enheder. Dens hovedfelter er som følger.

  • Beskrivelse: En kort beskrivelse
  • Dokumentation: Dokumentets adresse
  • Kræver: Andre enheder, som den nuværende enhed er afhængig af, og hvis de ikke kører, vil den nuværende enhed ikke starte
  • Ønsker: Andre enheder, der arbejder sammen med den nuværende enhed, hvis de ikke kører, vil den nuværende enhed ikke fejle i starten
  • BindsTo: Ligesom Krav, specificerer den en enhed, der får den nuværende enhed til at stoppe, hvis den lukker
  • Før: Hvis den Enhed, der er angivet i dette felt, også skal startes, skal den startes efter den nuværende Enhed
  • Efter: Hvis den Enhed, der er angivet i dette felt, også skal startes, skal den startes før den nuværende Enhed
  • Konflikter: Den her specificerede enhed kan ikke køre samtidig med den nuværende enhed
  • Betingelse... : Betingelserne der skal være opfyldt for, at den nuværende enhed kan køre, ellers vil den ikke køre
  • Hævde... : Betingelserne der skal være opfyldt for, at den nuværende enhed kan køre, ellers vil opstartsfejlen blive rapporteret

[Installer] er normalt den sidste blok i konfigurationsfilen, der definerer, hvordan man starter op og om man skal starte op. Dens hovedfelter er som følger.

  • WantedBy: Dens værdi er en eller flere Targets, og når den nuværende Unit er aktiv (aktiveret), placeres symlinket i en undermappe under /etc/systemd/system-mappen med Target-navnet + .wants suffikset
  • RequiredBy: Dens værdi er en eller flere Targets, og når den nuværende Unit er aktiv, placeres symlinket i en undermappe under /etc/systemd/system-mappen med Target-navnet + .required suffikset
  • Alias: Det alias, som den nuværende enhed kan bruge til at starte med
  • Desuden: Når den nuværende enhed aktiveres, aktiveres andre enheder samtidig

[Service]-blokken bruges til at konfigurere Service, og kun enheder af Service-typen har denne blok. Dens hovedfelter er som følger.

  • Type: Definerer processens adfærd ved opstart. Den har følgende værdier.
  • Type=simpel: Standardværdien, udfør kommandoen specificeret af ExecStart for at starte hovedprocessen
  • type=forking: Fork opretter en børneproces fra forældreprocessen, som afsluttes straks efter oprettelsen
  • Type=oneshot: En engangsproces, Systemd venter på, at den nuværende service afsluttes, før den fortsætter med at køre
  • Type=dbus: Den nuværende service startes via D-Bus
  • type=notify: Når den nuværende service startes, vil Systemd blive underrettet og fortsætte udførelsen
  • type=idle: Den nuværende service vil kun køre, hvis andre opgaver udføres
  • ExecStart: Kommandoen til at starte den nuværende service
  • ExecStartPre: Kommandoen, der blev udført før starten af den nuværende tjeneste
  • ExecStartPost: Kommandoen, der udføres efter opstart af den nuværende service
  • ExecReload: Kommandoen, der udføres, når den nuværende service genstartes
  • ExecStop: Kommandoen, der udføres, når den nuværende service stoppes
  • ExecStopPost: Stop kommandoen, der udføres, når den leveres
  • RestartSec: Antallet af sekunder mellem automatisk service genstarter den nuværende service
  • Genstart: Definerer de omstændigheder, hvor Systemd automatisk genstarter den nuværende service, med mulige værdier som altid, on-success, on-failure, on-abnormal, on-abort, on-watchdog.
  • TimeoutSec: Definerer antallet af sekunder, Systemd venter, før den nuværende service stoppes
  • Miljø: Angiv miljøvariablen

Systemctl administrationsværktøj

Programstyring i CentOS udføres grundlæggende af værktøjet systemctl.

Opstartsservice:

systemctl start name.service

Stop tjenesten:

systemCTL stop name.service

Genstart service:

systemctl restart name.service

Se status:

systemCTL Status Name.Service

Betinget genstart:

Hvis tjenesten blev startet før, vil den blive genstartet, og hvis tjenesten ikke startes, vil den ikke blive drevet

systemctl try-restart name.service

Genindlæs eller genstart:

Genindlæs først, og hvis genindlæsningen ikke lykkes, genstart

systemctl reload-or-restart name.service

Genindlæsning eller betinget genstart:

systemctl reload-or-try-restart name.service

Sætter om tjenesten kan sættes af brugeren til at starte tilstanden

systemctl unmask name.service

systemctl maskenavn.service er forbudt

Se den aktuelle aktiveringsstatus for tjenesten:

Status return-værdien for kommandoen service, der har startet, er 0. Status return-værdien for kommandoen, der ikke er startet, er ikke 0

systemCTL is-aktiv name.service

Se alle de tjenester, der er blevet aktiveret:

-t Angiver typen af viste enheder.

--alle viser en mere detaljeret liste over information.

-en ækvivalent --alle

SystemCTL liste-enheder

SystemCTL liste-enheder -t tjeneste

SystemCTL liste-enheder -t tjeneste -a

Se alle tjenester:

SystemCTL liste-enheder -A

Se alle servicestatusser:

SystemCTL list-unit-files

-a 、--alle: Se status for alle tjenester

-t 、--type: Angiver typen af enhed, der skal ses

indlæst: Konfigurationsfilen er blevet indlæst, indlæst i hukommelsen

active(running): Kørsler, der kontinuerligt behandles en eller flere gange

active(exited): Engangskonfigurationen fuldføres med succes

active(waiting): Løber, venter på en begivenhed

inactive:不运行

enabled:开机启动

disabled:开机不启动

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

Bruges til at angive, på hvilke driftsniveauer tjenesten er aktiveret og deaktiveret

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

SystemCTL liste-enhedsfiler --type mål --alle

For at indstille tjenesten til ikke at starte:

SystemCTL Deaktiver tjenestenavneenhed

Tjek om tjenesten er startet og startet:

systemCTL is-enabled name.service

Se på serviceafhængigheder:

systemctl list-dependencies name.service
SystemCTL List-Depebdencies

Tung belastningsservice:

systemctl daemon-reload

Dræb processen:

SystemCTL Kill Process navn

Ressourcer:

Hyperlink-login er synlig.
Hyperlink-login er synlig.
Hyperlink-login er synlig.
Hyperlink-login er synlig.





Tidligere:Linux tester LDAP-forbindelse ved hjælp af kommandoen Curl
Næste:vsftp uploadfil-tilladelsesproblem
 Udlejer| Opslået på 11/12/2021 17.35.26 |
[Unit]En blok er normalt den første blok i en konfigurationsfil, der definerer metadata for en enhed og hvordan den relaterer sig til andre enheder. Dens hovedfelter er som følger.

Beskrivelse: En kort beskrivelse
Dokumentation: Dokumentets adresse
Kræver: Andre enheder, som den nuværende enhed er afhængig af, og hvis de ikke kører, vil den nuværende enhed ikke starte
Ønsker: Andre enheder, der arbejder sammen med den nuværende enhed, hvis de ikke kører, vil den nuværende enhed ikke fejle i starten
BindsTo: Ligesom Krav, specificerer den en enhed, der får den nuværende enhed til at stoppe, hvis den lukker
Før: Hvis den Enhed, der er angivet i dette felt, også skal startes, skal den startes efter den nuværende Enhed
Efter: Hvis den Enhed, der er angivet i dette felt, også skal startes, skal den startes før den nuværende Enhed
Konflikter: Den her specificerede enhed kan ikke køre samtidig med den nuværende enhed
Betingelse... : Betingelserne der skal være opfyldt for, at den nuværende enhed kan køre, ellers vil den ikke køre
Hævde... : Betingelserne der skal være opfyldt for, at den nuværende enhed kan køre, ellers vil opstartsfejlen blive rapporteret
[Installer]Det er som regel den sidste blok i konfigurationsfilen, der definerer, hvordan man skal boote, og om man skal starte op. Dens hovedfelter er som følger.

WantedBy: Dens værdi er en eller flere Targets, og når den nuværende Unit er aktiv (aktiveret), placeres symlinket i en undermappe under /etc/systemd/system-mappen med Target-navnet + .wants suffikset
RequiredBy: Dens værdi er en eller flere Targets, og når den nuværende Unit er aktiv, placeres symlinket i en undermappe under /etc/systemd/system-mappen med Target-navnet + .required suffikset
Alias: Det alias, som den nuværende enhed kan bruge til at starte med
Desuden: Når den nuværende enhed aktiveres, aktiveres andre enheder samtidig
[Service]Blokke bruges til at konfigurere services, og kun enheder af typen Service har denne blok. Dens hovedfelter er som følger.

Type: Definerer processens adfærd ved opstart. Den har følgende værdier.
Type=simpel: Standardværdien, udfør kommandoen specificeret af ExecStart for at starte hovedprocessen
type=forking: Fork opretter en børneproces fra forældreprocessen, som afsluttes straks efter oprettelsen
Type=oneshot: En engangsproces, Systemd venter på, at den nuværende service afsluttes, før den fortsætter med at køre
Type=dbus: Den nuværende service startes via D-Bus
type=notify: Når den nuværende service startes, vil Systemd blive underrettet og fortsætte udførelsen
type=idle: Den nuværende service vil kun køre, hvis andre opgaver udføres
ExecStart: Kommandoen til at starte den nuværende service
ExecStartPre: Kommandoen, der blev udført før starten af den nuværende tjeneste
ExecStartPost: Kommandoen, der udføres efter opstart af den nuværende service
ExecReload: Kommandoen, der udføres, når den nuværende service genstartes
ExecStop: Kommandoen, der udføres, når den nuværende service stoppes
ExecStopPost: Stop kommandoen, der udføres, når den leveres
RestartSec: Antallet af sekunder mellem automatisk service genstarter den nuværende service
Genstart: Definerer de omstændigheder, hvor Systemd automatisk genstarter den nuværende service, med mulige værdier som altid, on-success, on-failure, on-abnormal, on-abort, on-watchdog.
TimeoutSec: Definerer antallet af sekunder, Systemd venter, før den nuværende service stoppes
Miljø: Angiv miljøvariablen


 Udlejer| Opslået på 11/12/2021 17.37.33 |
Type=forgrening
SystemD mener, at tjenesten starter succesfuldt, når serviceprocessen forgrenes, og forældreprocessen afsluttes. For almindelige dæmoner, medmindre du er sikker på, at denne opstartsmetode ikke opfylder dine behov, kan du starte med denne type. Med denne opstartstype bør PIDFile= også specificeres, så systemd kan spore tjenestens hovedproces

 Udlejer| Opslået på 15/12/2021 16.55.14 |
EnvironmentFile-kommandoen

EnvironmentFile ligner Environment-direktivet, men læser miljøvariabler fra en tekstfil. Tekstfilen bør indeholde variabeltildelinger adskilt af linjeskift

eksempel

Du kan tage denne miljøfil og bruge dens variabler som følger:



 Udlejer| Opslået på 04/01/2022 15.56.55 |
 Udlejer| Opslået på 05/01/2022 09.48.21 |
Docker Standard Service File Path /usr/lib/systemd/system/docker.service

 Udlejer| Opslået på 23/01/2022 22.57.56 |
Se alle servicestatus



Forespørg om en tjeneste er tændt, med NFS som eksempel:

 Udlejer| Opslået på 25/02/2025 17.01.08 |
Massestart af tjenester, der starter med ABC

 Udlejer| Opslået på 11/04/2025 15.57.14 |
DefaultTimeoutStartSec= og DefaultTimeoutStopSec= som standard til 90 sekunder i Systemadministrator og 90 sekunder i Brugerstyring.

Hyperlink-login er synlig.

Se konfigurationen af den specificerede tjeneste med følgende kommando:


Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com