Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 10964|Vastaus: 8

[linux] Linux systemd Service Manager selitettynä yksityiskohtaisesti

[Kopioi linkki]
Julkaistu 28.11.2021 10.02.32 | | | |
systemd on joukko perusrakennuspalikoita Linux-järjestelmiin. Se tarjoaa järjestelmä- ja palveluhallinnan, joka käynnistää ja käynnistää loput järjestelmästä PID 1 -muodossa.

systemd tarjoaa aggressiiviset rinnakkaisominaisuudet, käyttää soketteja ja D-väylän aktivointia palveluiden käynnistämiseen, tarjoaa daemonien käynnistyksen tarpeen mukaan, käyttää Linux-ohjausryhmiä prosessien seuraamiseen, ylläpitää mounteja ja automaattikiinnityspisteitä sekä toteuttaa hyvin suunniteltua transaktioriippuvuuteen perustuvaa palvelunohjauslogiikkaa. systemd tukee SysV- ja LSB-init-skriptejä ja voi korvata sysvinitin.

Muita osioita ovat lokidaemonit, perusjärjestelmäasetusten hallintatyökalut, kuten isäntänimien, päivämäärien ja paikkojen, kirjautuneiden käyttäjien listan ylläpito sekä konttien ja virtuaalikoneiden ajaminen, järjestelmätilien, ajonaikaisten hakemistojen ja asetusten hallinta sekä yksinkertaisten verkkojen daemon-asetusten hallinta, verkon aikasynkronointi, lokien välitys ja nimen ratkaisu.

systemd-konfiguraatiotiedosto löytyy seuraavista kolmesta kansiosta:         

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

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

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

Linux tarkastelee Systemd-palvelun lokitulosta
https://www.itsvse.com/thread-10154-1-1.html

Jenkins (4) Lisää Linux-solmu ja rekisteröi se palveluksi
https://www.itsvse.com/thread-10120-1-1.html

CentOS 7 asentaa Node-exporterin
https://www.itsvse.com/thread-9969-1-1.html

Yksikön profiili

Yksikkötiedosto systemd:ssä on tiedosto, joka koodaa tietoa eri yksiköistä, joita systemd voi hallita, mukaan lukien palvelut, socketit, laitteet ja niin edelleen. Tämä opas keskittyy palveluihin, jolloin yksikkötiedosto, jonka kanssa työskentelemme, on .service-tiedosto. varnish.service-laitteen konfiguraatiotiedosto sisältää tietoa siitä, miten systemd:n tulisi suorittaa, valvoa ja hallita varnish-daemonia.

[Unit]-lohko on yleensä konfiguraatiotiedoston ensimmäinen lohko, jota käytetään yksikön metatietojen määrittämiseen sekä sen suhteisiin muihin yksiköihin. Sen pääalueet ovat seuraavat.

  • Kuvaus: Lyhyt kuvaus
  • Dokumentaatio: Asiakirjan osoite
  • Vaatii: Muita yksiköitä, joista nykyinen yksikkö on riippuvainen, ja jos ne eivät ole käynnissä, nykyinen yksikkö ei käynnisty
  • Haluavat: Muut yksiköt, jotka työskentelevät nykyisen yksikön kanssa, jos ne eivät ole käynnissä, nykyinen yksikkö ei käynnisty
  • BindsTo: Samoin kuin vaatimus, se määrittelee yksikön, joka saa nykyisen yksikön lopettamaan käynnissä, jos se poistuu
  • Ennen: Jos tässä kentässä määritelty yksikkö on myös aloitettava, se on käynnistettävä nykyisen yksikön jälkeen
  • Jälkeen: Jos tässä kentässä määritelty yksikkö on myös aloitettava, se on käynnistettävä ennen nykyistä yksikköä
  • Ristiriidat: Tässä mainittu yksikkö ei voi toimia samaan aikaan nykyisen yksikön kanssa
  • Ehto... : Ehdot, jotka on täytettävä, jotta nykyinen yksikkö voi toimia, muuten se ei käynnisty
  • Väittää... : Ehdot, jotka on täytettävä, jotta nykyinen yksikkö voi toimia, muuten käynnistysvika raportoidaan

[Asennus] on yleensä viimeinen lohko konfiguraatiotiedostossa, joka määrittelee, miten käynnistys tehdään ja käynnistyy. Sen pääalueet ovat seuraavat.

  • WantedBy: Sen arvo on yksi tai useampi Targets, ja kun nykyinen yksikkö on aktiivinen (enable), symlinkki sijoitetaan alihakemistoon /etc/systemd/system -hakemiston alle, jossa on Target-nimi + .wants
  • RequiredBy: Sen arvo on yksi tai useampi Target, ja kun nykyinen yksikkö on aktiivinen, symlinkki sijoitetaan alihakemistoon /etc/systemd/system -hakemiston alle, jossa on Target-nimi + .required -pääte
  • Alias: Alias, jota nykyinen yksikkö voi käyttää aloittaakseen
  • Lisäksi: Kun nykyinen yksikkö aktivoidaan, muut yksiköt aktivoituvat samanaikaisesti

[Service]-lohkoa käytetään palvelun konfigurointiin, ja vain palvelutyypin yksiköissä on tämä lohko. Sen pääalueet ovat seuraavat.

  • Tyyppi: Määrittelee prosessin käyttäytymisen käynnistyksessä. Sillä on seuraavat arvot.
  • Type=simple: Oletusarvo, suorita ExecStartin määrittämä komento pääprosessin käynnistämiseksi
  • type=forking: Fork luo lapsiprosessin emoprosessista, joka poistuu välittömästi luomisen jälkeen
  • Type=oneshot: Yksittäinen prosessi, Systemd odottaa nykyisen palvelun poistumista ennen kuin jatkaa suoritusta
  • Type=dbus: Nykyinen palvelu alkaa D-Busilla
  • type=ilmoita: Kun nykyinen palvelu käynnistetään, Systemd saa ilmoituksen ja jatkaa suoritusta
  • type=idle: Nykyinen palvelu toimii vain, jos muita tehtäviä suoritetaan
  • ExecStart: Komento nykyisen palvelun käynnistämiseksi
  • ExecStartPre: Komento, joka suoritetaan ennen nykyisen palvelun aloittamista
  • ExecStartPost: Komento, joka suoritetaan nykyisen palvelun käynnistämisen jälkeen
  • ExecReload: Komento, joka suoritetaan, kun nykyinen palvelu käynnistetään uudelleen
  • ExecStop: Komento, joka suoritetaan, kun nykyinen palvelu pysäytetään
  • ExecStopPost: Pysäytä käsky, joka suoritetaan sen palvelemisen yhteydessä
  • RestartSec: Sekuntien määrä automaattisen palvelun välillä käynnistää nykyisen palvelun uudelleen
  • Restart: Määrittelee olosuhteet, joissa Systemd käynnistää nykyisen palvelun automaattisesti uudelleen, mahdollisilla arvoilla kuten aina, on-success, on-failure, on-anormal, on-abator, on-watchdog
  • TimeoutSec: Määrittää, kuinka monta sekuntia Systemd odottaa ennen nykyisen palvelun pysäyttämistä
  • Ympäristö: Määritä ympäristömuuttuja

Systemctl-hallintatyökalu

Ohjelmien hallinta CentOS:ssa tapahtuu käytännössä työkalulla systemctl.

Startup-palvelu:

systemctl start name.service

Palvelun lopettaminen:

systemctl stop name.service

Käynnistä palvelu uudelleen:

systemctl restart name.service

Katso tila:

systemctl status name.service

Ehdollinen uudelleenkäynnistys:

Jos palvelu käynnistettiin aiemmin, se käynnistetään uudelleen, ja jos palvelua ei käynnistetä, sitä ei käytetä

systemctl try-restart name.service

Lataa tai käynnistä uudelleen:

Lataa ensin, ja jos lataus epäonnistuu, käynnistä uudelleen

systemctl reload-or-restart name.service

Uudelleenlataus tai ehdollinen uudelleenkäynnistys:

systemctl reload-or-try-restart name.service

Määrittää, voiko käyttäjä asettaa palvelun aloittamaan tilan

systemctl unmask name.service

systemctl mask name.service on kielletty

Katso palvelun nykyinen aktivointitila:

Palvelu on käynnistetty -komennon tilapalautusarvo on 0 Käynnistymättömän komennon tilapalautusarvo ei ole 0

systemctl is-active name.service

Katso kaikki aktivoidut palvelut:

-t Määrittää näytettävän yksikön tyypin.

--kaikki näyttävät yksityiskohtaisemman tietolistan.

-ekvivalentti --kaikki

systemctl listayksiköt

systemctl lista-yksiköt -t palvelu

systemctl lista-yksiköt -t palvelu -a

Katso kaikki palvelut:

systemctl listayksiköt -a

Katso kaikki palvelutilat:

systemctl list-unit-files

-a 、--all : Katso kaikkien palveluiden tila

-t 、--tyyppi: Määrittää katsottavan yksikön tyypin

ladattu: Konfiguraatiotiedosto on ladattu, ladattu muistiin

aktiivinen (käynnissä): Suoritukset, joita käsitellään jatkuvasti yhden tai useamman kerran

active(exed): Kertaluonteinen konfiguraatio on onnistuneesti suoritettu

aktiivinen(odottaa): Juoksen, odotan tapahtumaa

inactive:不运行

enabled:开机启动

disabled:开机不启动

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

Käytetään listattelemaan, millä toimintatasoilla palvelu on käytössä ja pois käytöstä

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

systemctl list-unit-files --tyyppikohde --kaikki

Palvelun asettaminen, joka ei käynnisty:

systemctl poista palvelunimiyksikkö

Tarkista, onko palvelu käynnistetty ja käynnistetty:

systemctl on käytössä name.service

Katso palveluriippuvuuksia:

systemctl list-dependencies name.service
systemctl list-depebdencies

Raskaan kuorman palvelu:

systemctl daemon-reload

Tapa prosessi:

systemctl kill process -nimi

Varat:

Hyperlinkin kirjautuminen on näkyvissä.
Hyperlinkin kirjautuminen on näkyvissä.
Hyperlinkin kirjautuminen on näkyvissä.
Hyperlinkin kirjautuminen on näkyvissä.





Edellinen:Linux testaa LDAP-yhteyksiä Curl-komennolla
Seuraava:VSFTP-tiedoston latausoikeusongelma
 Vuokraisäntä| Julkaistu 11.12.2021 17.35.26 |
[Yksikkö]Lohko on yleensä ensimmäinen lohko konfiguraatiotiedostossa, joka määrittelee yksikön metatiedot ja miten se liittyy muihin yksiköihin. Sen pääalueet ovat seuraavat.

Kuvaus: Lyhyt kuvaus
Dokumentaatio: Asiakirjan osoite
Vaatii: Muita yksiköitä, joista nykyinen yksikkö on riippuvainen, ja jos ne eivät ole käynnissä, nykyinen yksikkö ei käynnisty
Haluavat: Muut yksiköt, jotka työskentelevät nykyisen yksikön kanssa, jos ne eivät ole käynnissä, nykyinen yksikkö ei käynnisty
BindsTo: Samoin kuin vaatimus, se määrittelee yksikön, joka saa nykyisen yksikön lopettamaan käynnissä, jos se poistuu
Ennen: Jos tässä kentässä määritelty yksikkö on myös aloitettava, se on käynnistettävä nykyisen yksikön jälkeen
Jälkeen: Jos tässä kentässä määritelty yksikkö on myös aloitettava, se on käynnistettävä ennen nykyistä yksikköä
Ristiriidat: Tässä mainittu yksikkö ei voi toimia samaan aikaan nykyisen yksikön kanssa
Ehto... : Ehdot, jotka on täytettävä, jotta nykyinen yksikkö voi toimia, muuten se ei käynnisty
Väittää... : Ehdot, jotka on täytettävä, jotta nykyinen yksikkö voi toimia, muuten käynnistysvika raportoidaan
[Asenna]Se on yleensä konfiguraatiotiedoston viimeinen lohko, joka määrittää, miten käynnistys tehdään ja käynnistetäänkö se itse. Sen pääalueet ovat seuraavat.

WantedBy: Sen arvo on yksi tai useampi Targets, ja kun nykyinen yksikkö on aktiivinen (enable), symlinkki sijoitetaan alihakemistoon /etc/systemd/system -hakemiston alle, jossa on Target-nimi + .wants
RequiredBy: Sen arvo on yksi tai useampi Target, ja kun nykyinen yksikkö on aktiivinen, symlinkki sijoitetaan alihakemistoon /etc/systemd/system -hakemiston alle, jossa on Target-nimi + .required -pääte
Alias: Alias, jota nykyinen yksikkö voi käyttää aloittaakseen
Lisäksi: Kun nykyinen yksikkö aktivoidaan, muut yksiköt aktivoituvat samanaikaisesti
[Palvelus]Lohkoja käytetään palveluiden konfigurointiin, ja vain Service-tyypin yksiköillä on tämä lohko. Sen pääalueet ovat seuraavat.

Tyyppi: Määrittelee prosessin käyttäytymisen käynnistyksessä. Sillä on seuraavat arvot.
Type=simple: Oletusarvo, suorita ExecStartin määrittämä komento pääprosessin käynnistämiseksi
type=forking: Fork luo lapsiprosessin emoprosessista, joka poistuu välittömästi luomisen jälkeen
Type=oneshot: Yksittäinen prosessi, Systemd odottaa nykyisen palvelun poistumista ennen kuin jatkaa suoritusta
Type=dbus: Nykyinen palvelu alkaa D-Busilla
type=ilmoita: Kun nykyinen palvelu käynnistetään, Systemd saa ilmoituksen ja jatkaa suoritusta
type=idle: Nykyinen palvelu toimii vain, jos muita tehtäviä suoritetaan
ExecStart: Komento nykyisen palvelun käynnistämiseksi
ExecStartPre: Komento, joka suoritetaan ennen nykyisen palvelun aloittamista
ExecStartPost: Komento, joka suoritetaan nykyisen palvelun käynnistämisen jälkeen
ExecReload: Komento, joka suoritetaan, kun nykyinen palvelu käynnistetään uudelleen
ExecStop: Komento, joka suoritetaan, kun nykyinen palvelu pysäytetään
ExecStopPost: Pysäytä käsky, joka suoritetaan sen palvelemisen yhteydessä
RestartSec: Sekuntien määrä automaattisen palvelun välillä käynnistää nykyisen palvelun uudelleen
Restart: Määrittelee olosuhteet, joissa Systemd käynnistää nykyisen palvelun automaattisesti uudelleen, mahdollisilla arvoilla kuten aina, on-success, on-failure, on-anormal, on-abator, on-watchdog
TimeoutSec: Määrittää, kuinka monta sekuntia Systemd odottaa ennen nykyisen palvelun pysäyttämistä
Ympäristö: Määritä ympäristömuuttuja


 Vuokraisäntä| Julkaistu 11.12.2021 17.37.33 |
Type=haarautuminen
SystemD uskoo, että palvelu käynnistyy onnistuneesti, kun palveluprosessi haarautuu ja emoprosessi päättyy. Tavallisille daemoneille, ellei ole varma, ettei tämä käynnistysmenetelmä vastaa tarpeitasi, voit aloittaa tästä tyypistä. Tässä käynnistystyypissä tulisi myös määritellä PIDFile=, jotta systemd voi seurata palvelun pääprosessia

 Vuokraisäntä| Julkaistu 15.12.2021 16.55.14 |
EnvironmentFile-komento

EnvironmentFile muistuttaa Ympäristö-direktiiviä, mutta lukee ympäristömuuttujia tekstitiedostosta. Tekstitiedoston tulisi sisältää muuttujamäärityksiä, jotka on erotettu rivinvaihdoilla

esimerkki

Voit ottaa tämän ympäristötiedoston ja käyttää sen muuttujia seuraavasti:



 Vuokraisäntä| Julkaistu 4.1.2022 15.56.55 |
 Vuokraisäntä| Julkaistu 5.1.2022 9.48.21 |
docker oletuspalvelutiedostopolku /usr/lib/systemd/system/docker.service

 Vuokraisäntä| Julkaistu 23.1.2022 22.57.56 |
Näytä kaikki palvelutilat



Kysy, onko palvelu päällä, käyttäen esimerkkinä NFS:ää:

 Vuokraisäntä| Julkaistu 25.2.2025 17.01.08 |
Massalähtöpalvelut, jotka alkavat ABC:llä

 Vuokraisäntä| Julkaistu 11.4.2025 15.57.14 |
DefaultTimeoutStartSec= ja DefaultTimeoutStopSec= ovat oletuksena 90 sekuntia järjestelmänhallinnassa ja 90 sekuntia käyttäjähallinnassa.

Hyperlinkin kirjautuminen on näkyvissä.

Katso määritellyn palvelun konfiguraatio seuraavalla komennolla:


Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com