Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 10964|Svare: 8

[Linux] Linux systemd service manager forklart i detalj

[Kopier lenke]
Publisert på 28.11.2021 10:02:32 | | | |
systemd er et sett med grunnleggende byggeklosser for Linux-systemer. Den tilbyr et system og en tjenesteadministrator som kjører og starter resten av systemet som PID 1.

systemd tilbyr aggressive parallelliseringsmuligheter, bruker sockets og D-Bus-aktivering for å starte tjenester, tilbyr on-demand start av daemoner, bruker Linux-kontrollgrupper for å spore prosesser, opprettholder mounts og auto-mount-punkter, og implementerer godt designet transaksjonsavhengighetsbasert tjenestekontrolllogikk. systemd støtter SysV- og LSB-init-skript og kan erstatte sysvinit.

Andre seksjoner inkluderer loggdemoner, verktøy for å kontrollere grunnleggende systemkonfigurasjoner som vertsnavn, datoer, lokasjoner, vedlikehold av en liste over innloggede brukere og kjøring av containere og virtuelle maskiner, systemkontoer, kjøretidskataloger og innstillinger, samt administrasjon av daemon-konfigurasjoner for enkle nettverk, nettverkstidssynkronisering, loggvideresending og navnoppløsning.

Systemd-konfigurasjonsfilen finnes i følgende tre mapper:         

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

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

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

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

Jenkins (4) Legg til 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

Enhetsprofil

En enhetsfil i systemd er en fil som koder informasjon om de ulike enhetene systemd kan administrere, inkludert tjenester, sokler, enheter og så videre. Denne guiden fokuserer på tjenester, i så fall er enhetsfilen vi jobber med .service-filen. Konfigurasjonsfilen for varnish.service-enheten inneholder informasjon om hvordan systemd skal kjøre, overvåke og administrere lakk-daemonen.

[Enhets]-blokken er vanligvis den første blokken i konfigurasjonsfilen og brukes til å definere metadataene til enheten og hvordan den relaterer seg til andre enheter. Hovedfeltene er som følger.

  • Beskrivelse: En kort beskrivelse
  • Dokumentasjon: Adressen til dokumentet
  • Krever: Andre enheter som den nåværende enheten er avhengig av, og hvis de ikke er i drift, vil den nåværende enheten ikke starte
  • Ønsker: Andre enheter som fungerer med den nåværende enheten, hvis de ikke er i drift, vil ikke den nåværende enheten feile å starte
  • BindsTo: Ligner på Rescribes, spesifiserer den en enhet som får den nåværende enheten til å slutte å kjøre hvis den avsluttes
  • Før: Hvis enheten som er spesifisert i dette feltet også skal startes, må den startes etter den nåværende enheten
  • Etter: Hvis enheten som er spesifisert i dette feltet også skal startes, må den startes før den nåværende enheten
  • Konflikter: Enheten som er spesifisert her kan ikke kjøre samtidig som den nåværende enheten
  • Betingelse... : Betingelsene som må oppfylles for at den nåværende enheten skal kunne fungere, ellers vil den ikke fungere
  • Hevde... : Betingelsene som må oppfylles for at den nåværende enheten skal fungere, ellers vil oppstartsfeil bli rapportert

[Installer] er vanligvis den siste blokken i konfigurasjonsfilen som definerer hvordan du skal starte opp og om du skal starte opp. Hovedfeltene er som følger.

  • WantedBy: Verdien er én eller flere Targets, og når den nåværende enheten er aktiv (aktivert), plasseres symlinken i en undermappe under /etc/systemd/system/system-mappen med Target-navnet + .wants suffikset
  • RequiredBy: Verdien er én eller flere Targets, og når den nåværende enheten er aktiv, vil symlinken bli plassert i en underkatalog under /etc/systemd/system-mappen med Target-navnet + .required suffikset
  • Alias: Aliaset som den nåværende enheten kan bruke for å starte
  • Også: Når den nåværende enheten aktiveres, aktiveres andre enheter samtidig

[Service]-blokken brukes til å konfigurere Service, og kun enheter av Service-typen har denne blokken. Hovedfeltene er som følger.

  • Type: Definerer prosessens oppførsel ved oppstart. Den har følgende verdier.
  • type=enkel: Standardverdien, kjør kommandoen spesifisert av ExecStart for å starte hovedprosessen
  • type=forking: Fork oppretter en barneprosess fra foreldreprosessen, som avsluttes umiddelbart etter opprettelse
  • Type=oneshot: En engangsprosess, Systemd venter på at den nåværende tjenesten avsluttes før den fortsetter å kjøre
  • Type=dbus: Den nåværende tjenesten startes via D-Bus
  • type=varsle: Når den nåværende tjenesten startes, vil Systemd bli varslet og fortsette kjøringen
  • type=idle: Den nåværende tjenesten vil bare kjøre hvis andre oppgaver utføres
  • ExecStart: Kommandoen for å starte den nåværende tjenesten
  • ExecStartPre: Kommandoen som utføres før den nåværende tjenesten startes
  • ExecStartPost: Kommandoen som utføres etter at den nåværende tjenesten er startet
  • ExecReload: Kommandoen som utføres når den nåværende tjenesten startes på nytt
  • ExecStop: Kommandoen som utføres når den nåværende tjenesten stoppes
  • ExecStopPost: Stopp kommandoen som utføres når den leveres
  • RestartSec: Antall sekunder mellom automatisk tjeneste starter den nåværende tjenesten på nytt
  • Omstart: Definerer omstendighetene under hvilke Systemd automatisk vil starte den nåværende tjenesten på nytt, med mulige verdier som alltid, ved suksess, ved feil, på-unormal, ved avbrytelse, på-vaktbikkje
  • TimeoutSec: Definerer antall sekunder Systemd venter før den nåværende tjenesten stoppes
  • Miljø: Spesifiser miljøvariabelen

Systemctl-administrasjonsverktøy

Programadministrasjon i CentOS gjøres i hovedsak av verktøyet systemctl.

Oppstartstjeneste:

SystemCTL Start Name.Service

Avslutt tjenesten:

SystemCTL Stop Name.Service

Start tjenesten på nytt:

systemctl restart name.service

Vis status:

SystemCTL Status Name.Service

Betinget omstart:

Hvis tjenesten ble startet tidligere, vil den bli startet på nytt, og hvis tjenesten ikke startes, vil den ikke bli drevet

systemctl try-restart name.service

Last inn eller start på nytt:

Last inn på nytt først, og hvis omladingen ikke lykkes, start på nytt

systemctl reload-or-restart name.service

Last inn på nytt eller betinget omstart:

systemctl reload-or-try-restart name.service

Bestemmer om tjenesten kan settes av brukeren til å starte tilstanden

systemctl unmask name.service

SystemCTL Mask Name.Service er forbudt

Se gjeldende aktiveringsstatus for tjenesten:

Statusreturverdien til kommandoen tjenesten har startet er 0. Statusreturverdien til kommandoen som ikke er startet er ikke-0

systemCTL is-active name.service

Se alle tjenestene som er aktivert:

-t Spesifiserer typen enhet som vises.

--alle viser en mer detaljert liste med informasjon.

-en ekvivalent --alle

SystemCTL listeenheter

SystemCTL liste-enheter -t tjeneste

SystemCTL listeenheter -t tjeneste -a

Se alle tjenester:

SystemCTL listeenheter -A

Se alle tjenestestatuser:

SystemCTL list-unit-files

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

-t 、--type: Angir hvilken type enhet som skal sees

lastet inn: Konfigurasjonsfilen er lastet inn, lastet inn i minnet

active(running): Kjøringer som kontinuerlig behandles én eller flere ganger

active(exited): Engangskonfigurasjonen fullføres vellykket

aktiv (venter): Løper, venter på en hendelse

inactive:不运行

enabled:开机启动

disabled:开机不启动

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

Brukes til å liste opp hvilke driftsnivåer tjenesten er aktivert og deaktivert

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

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

For å sette tjenesten til ikke å starte:

systemCTL Deaktiver tjenestenavnenhet

Sjekk om tjenesten er startet og startet:

SystemCTL IS-enabled name.service

Se på tjenesteavhengigheter:

SystemCTL list-dependencies name.service
SystemCTL list-depebdencies

Tung lasttjeneste:

SystemCTL Daemon-Reload

Avslutt prosessen:

SystemCTL Kill Process navn

Ressurser:

Innloggingen med hyperkoblingen er synlig.
Innloggingen med hyperkoblingen er synlig.
Innloggingen med hyperkoblingen er synlig.
Innloggingen med hyperkoblingen er synlig.





Foregående:Linux tester LDAP-tilkobling ved hjelp av kommandoen Curl
Neste:vsftp-tillatelsesproblem for opplastingsfiler
 Vert| Publisert på 11.12.2021 17:35:26 |
[Enhet]En blokk er vanligvis den første blokken i en konfigurasjonsfil som definerer metadataene til en enhet og hvordan den relaterer seg til andre enheter. Hovedfeltene er som følger.

Beskrivelse: En kort beskrivelse
Dokumentasjon: Adressen til dokumentet
Krever: Andre enheter som den nåværende enheten er avhengig av, og hvis de ikke er i drift, vil den nåværende enheten ikke starte
Ønsker: Andre enheter som fungerer med den nåværende enheten, hvis de ikke er i drift, vil ikke den nåværende enheten feile å starte
BindsTo: Ligner på Rescribes, spesifiserer den en enhet som får den nåværende enheten til å slutte å kjøre hvis den avsluttes
Før: Hvis enheten som er spesifisert i dette feltet også skal startes, må den startes etter den nåværende enheten
Etter: Hvis enheten som er spesifisert i dette feltet også skal startes, må den startes før den nåværende enheten
Konflikter: Enheten som er spesifisert her kan ikke kjøre samtidig som den nåværende enheten
Betingelse... : Betingelsene som må oppfylles for at den nåværende enheten skal kunne fungere, ellers vil den ikke fungere
Hevde... : Betingelsene som må oppfylles for at den nåværende enheten skal fungere, ellers vil oppstartsfeil bli rapportert
[Installer]Det er vanligvis den siste blokken i konfigurasjonsfilen som definerer hvordan du skal starte opp og om du skal starte opp. Hovedfeltene er som følger.

WantedBy: Verdien er én eller flere Targets, og når den nåværende enheten er aktiv (aktivert), plasseres symlinken i en undermappe under /etc/systemd/system/system-mappen med Target-navnet + .wants suffikset
RequiredBy: Verdien er én eller flere Targets, og når den nåværende enheten er aktiv, vil symlinken bli plassert i en underkatalog under /etc/systemd/system-mappen med Target-navnet + .required suffikset
Alias: Aliaset som den nåværende enheten kan bruke for å starte
Også: Når den nåværende enheten aktiveres, aktiveres andre enheter samtidig
[Service]Blokker brukes til å konfigurere tjenester, og kun enheter av typen Tjeneste har denne blokken. Hovedfeltene er som følger.

Type: Definerer prosessens oppførsel ved oppstart. Den har følgende verdier.
type=enkel: Standardverdien, kjør kommandoen spesifisert av ExecStart for å starte hovedprosessen
type=forking: Fork oppretter en barneprosess fra foreldreprosessen, som avsluttes umiddelbart etter opprettelse
Type=oneshot: En engangsprosess, Systemd venter på at den nåværende tjenesten avsluttes før den fortsetter å kjøre
Type=dbus: Den nåværende tjenesten startes via D-Bus
type=varsle: Når den nåværende tjenesten startes, vil Systemd bli varslet og fortsette kjøringen
type=idle: Den nåværende tjenesten vil bare kjøre hvis andre oppgaver utføres
ExecStart: Kommandoen for å starte den nåværende tjenesten
ExecStartPre: Kommandoen som utføres før den nåværende tjenesten startes
ExecStartPost: Kommandoen som utføres etter at den nåværende tjenesten er startet
ExecReload: Kommandoen som utføres når den nåværende tjenesten startes på nytt
ExecStop: Kommandoen som utføres når den nåværende tjenesten stoppes
ExecStopPost: Stopp kommandoen som utføres når den leveres
RestartSec: Antall sekunder mellom automatisk tjeneste starter den nåværende tjenesten på nytt
Omstart: Definerer omstendighetene under hvilke Systemd automatisk vil starte den nåværende tjenesten på nytt, med mulige verdier som alltid, ved suksess, ved feil, på-unormal, ved avbrytelse, på-vaktbikkje
TimeoutSec: Definerer antall sekunder Systemd venter før den nåværende tjenesten stoppes
Miljø: Spesifiser miljøvariabelen


 Vert| Publisert på 11.12.2021 17:37:33 |
Type=forgrening
SystemD tror at tjenesten starter vellykket når tjenesteprosessen forgrenes og foreldreprosessen avsluttes. For vanlige demoner, med mindre du er sikker på at denne oppstartsmetoden ikke oppfyller dine behov, kan du starte med denne typen. Med denne oppstartstypen bør også PIDFile= spesifiseres slik at systemd kan spore hovedprosessen til tjenesten

 Vert| Publisert på 15.12.2021 16:55:14 |
EnvironmentFile-kommandoen

EnvironmentFile ligner på Environment-direktivet, men leser miljøvariabler fra en tekstfil. Tekstfilen bør inneholde variabeltildelinger adskilt med linjeskift

eksempel

Du kan ta denne miljøfilen og bruke dens variabler som følger:



 Vert| Publisert på 04.01.2022 15:56:55 |
 Vert| Publisert på 05.01.2022 09:48:21 |
Docker standard tjenestefilsti /usr/lib/systemd/system/docker.service

 Vert| Publisert på 23.01.2022 22:57:56 |
Se alle tjenestestatuser



Spør om en tjeneste er på, med NFS som eksempel:

 Vert| Publisert på 25.02.2025 17:01:08 |
Start tjenester i bulk som starter med ABC

 Vert| Publisert på 11.04.2025 15:57:14 |
DefaultTimeoutStartSec= og DefaultTimeoutStopSec= standard til 90 sekunder i Systembehandler og 90 sekunder i Brukerbehandling.

Innloggingen med hyperkoblingen er synlig.

Se konfigurasjonen av den angitte tjenesten med følgende kommando:


Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com