RHCSA röð: Ferlastjórnun í RHEL 7: Ræsing, lokun og allt þar á milli - hluti 5


Við munum byrja þessa grein með heildar og stuttri endurskoðun á því sem gerist frá því augnabliki sem þú ýtir á Power hnappinn til að kveikja á RHEL 7 þjóninum þínum þar til þú færð innskráningarskjáinn í skipanalínuviðmóti.

Vinsamlegast athugaðu að:

1. sömu grundvallarreglur gilda, með kannski smávægilegum breytingum, um aðrar Linux dreifingar líka, og
2. Eftirfarandi lýsingu er ekki ætlað að tákna tæmandi útskýringu á ræsingarferlinu, heldur aðeins grundvallaratriði.

Linux ræsiferli

1. POST (Power On Self Test) frumstillir og framkvæmir vélbúnaðarprófanir.

2. Þegar POST lýkur er kerfisstýringin send til fyrsta stigs ræsihleðslutækisins, sem er geymt á annaðhvort ræsingargeiranum á einum af harða diskunum (fyrir eldri kerfi sem nota BIOS og MBR), eða sérstöku (U)EFI skipting.

3. Fyrsta stigs ræsihleðslutæki hleður síðan ræsihleðsluforriti annars stigs, oftast GRUB (GRand Unified Boot Loader), sem er inni í /boot, sem aftur hleður kjarnanum og upphaflega vinnsluminni-undirstaða skráarkerfinu (einnig þekkt sem initramfs , sem inniheldur forrit og tvöfaldar skrár sem framkvæma nauðsynlegar aðgerðir sem þarf til að tengja á endanum raunverulegt rót skráarkerfi).

4. Okkur er kynntur skvettaskjár sem gerir okkur kleift að velja stýrikerfi og kjarna til að ræsa:

5. Kjarninn setur upp vélbúnaðinn sem er tengdur við kerfið og þegar rótarskráarkerfið hefur verið sett upp, ræsir ferli með PID 1, sem aftur mun frumstilla aðra ferla og kynna okkur innskráningarbeiðni.

Athugið: Ef við viljum gera það síðar, getum við skoðað sérkenni þessa ferlis með því að nota dmesg skipunina og síað úttak þess með því að nota verkfærin sem við höfum útskýrt í fyrri greinum þessarar seríu.

Í dæminu hér að ofan notuðum við vel þekktu ps skipunina til að birta lista yfir núverandi ferla þar sem foreldraferlið (eða með öðrum orðum, ferlið sem hóf þá) er kerfisbundið (kerfis- og þjónustustjórinn sem flestar nútíma Linux dreifingar hafa skipt um til) við ræsingu kerfisins:

# ps -o ppid,pid,uname,comm --ppid=1

Mundu að -o fáninn (stutt fyrir –format) gerir þér kleift að kynna úttak ps á sérsniðnu sniði til að henta þínum þörfum með því að nota lykilorðin sem tilgreind eru í STANDARD FORMAT SPECIFIERS hlutanum í man ps.

Annað tilvik þar sem þú vilt skilgreina úttak ps í stað þess að fara með sjálfgefið er þegar þú þarft að finna ferla sem valda umtalsverðu CPU og/eða minni álagi og raða þeim í samræmi við það:

# ps aux --sort=+pcpu              # Sort by %CPU (ascending)
# ps aux --sort=-pcpu              # Sort by %CPU (descending)
# ps aux --sort=+pmem              # Sort by %MEM (ascending)
# ps aux --sort=-pmem              # Sort by %MEM (descending)
# ps aux --sort=+pcpu,-pmem        # Combine sort by %CPU (ascending) and %MEM (descending)

Kynning á SystemD

Fáar ákvarðanir í Linux heiminum hafa valdið meiri deilum en innleiðing kerfis í helstu Linux dreifingum. Talsmenn Systemd nefna sem helstu kosti þess eftirfarandi staðreyndir:

Lestu líka: Sagan á bak við „init“ og „systemd“

1. Systemd gerir kleift að gera meiri vinnslu samhliða meðan á ræsingu kerfisins stendur (öfugt við eldra SysVinit, sem hefur tilhneigingu til að vera alltaf hægara vegna þess að það byrjar ferli eitt af öðru, athugar hvort eitt sé háð öðru og bíður síðan eftir að púkar ræsir svo fleiri þjónustur geta hafist), og

2. Það virkar sem kraftmikil auðlindastjórnun í keyrandi kerfi. Þannig er þjónusta ræst þegar þörf krefur (til að forðast neyslu kerfisauðlinda ef þau eru ekki notuð) í stað þess að vera ræst án gildrar ástæðu við ræsingu.

3. Afturábak samhæfni við SysVinit forskriftir.

Systemd er stjórnað af systemctl tólinu. Ef þú kemur frá SysVinit bakgrunni eru líkurnar á að þú þekkir:

  1. þjónustuverkfærið, sem -í þessum eldri kerfum- var notað til að stjórna SysVinit forskriftum, og
  2. chkconfig tólið, sem þjónaði þeim tilgangi að uppfæra og spyrjast fyrir um runlevel upplýsingar fyrir kerfisþjónustur.
  3. lokun, sem þú verður að hafa notað nokkrum sinnum til að annað hvort endurræsa eða stöðva keyrt kerfi.

Eftirfarandi tafla sýnir líkindin á milli notkunar þessara eldri verkfæra og systemctl:

Systemd kynnti einnig hugtökin einingar (sem geta verið annaðhvort þjónusta, festingarpunktur, tæki eða nettengi) og markmið (sem er hvernig systemd nær að hefja nokkur tengd ferli á sama tíma og má líta á það - þó ekki jafn- og jafngildi keyrslustiga í SysVinit byggðum kerfum.

Leggja saman

Önnur verkefni tengd ferlistjórnun fela í sér, en mega ekki vera takmörkuð við, hæfileikann til að:

Þetta er gert með renice tólinu, sem breytir tímasetningarforgangi eins eða fleiri ferla í gangi. Í einföldu máli er tímasetningarforgangurinn eiginleiki sem gerir kjarnanum (til staðar í útgáfum => 2.6) kleift að úthluta kerfisauðlindum í samræmi við úthlutaðan framkvæmdarforgang (e.

Grunnsetningafræði renice er sem hér segir:

# renice [-n] priority [-gpu] identifier

Í almennu skipuninni hér að ofan eru fyrstu rökin forgangsgildið sem á að nota, en hin rökin geta verið túlkuð sem vinnsluauðkenni (sem er sjálfgefin stilling), vinnsluhópaauðkenni, notendaauðkenni eða notendanöfn. Venjulegur notandi (annar en rót) getur aðeins breytt tímasetningarforgangi ferlis sem hann eða hún á, og aðeins aukið ágætisstigið (sem þýðir að taka upp minna kerfisauðlindir).

Nákvæmara sagt, að drepa ferli gefur rétt til að senda því merki um að annað hvort klára framkvæmd þess á þokkafullan hátt (SIGTERM=15) eða strax (SIGKILL=9) með kill eða pkill skipunum.

Munurinn á þessum tveimur verkfærum er sá að hið fyrrnefnda er notað til að slíta ákveðið ferli eða ferlihóp með öllu, en hið síðarnefnda gerir þér kleift að gera það sama út frá nafni og öðrum eiginleikum.

Að auki kemur pkill með pgrep, sem sýnir þér PID sem verða fyrir áhrifum ef pkill verður notað. Til dæmis, áður en þú keyrir:

# pkill -u gacanepa

Það gæti verið gagnlegt að skoða í fljótu bragði hvaða PID eru í eigu gacanepa:

# pgrep -l -u gacanepa

Sjálfgefið er að bæði kill og pkill senda SIGTERM merkið í ferlið. Eins og við nefndum hér að ofan er hægt að hunsa þetta merki (á meðan ferlið lýkur framkvæmd sinni eða fyrir fullt og allt), þannig að þegar þú þarft alvarlega að stöðva keyrandi ferli með gildri ástæðu þarftu að tilgreina SIGKILL merkið á skipanalínunni:

# kill -9 identifier               # Kill a process or a process group
# kill -s SIGNAL identifier        # Idem
# pkill -s SIGNAL identifier       # Kill a process by name or other attributes 

Niðurstaða

Í þessari grein höfum við útskýrt grunnatriði ræsingarferilsins í RHEL 7 kerfi og greint nokkur verkfæri sem eru tiltæk til að hjálpa þér við að stjórna ferlum með því að nota algeng tól og kerfissértækar skipanir.

Athugaðu að þessum lista er ekki ætlað að ná yfir allar bjöllur og flautur þessa efnis, svo ekki hika við að bæta við eigin valnum verkfærum og skipunum þínum við þessa grein með því að nota athugasemdareyðublaðið hér að neðan. Spurningar og aðrar athugasemdir eru einnig vel þegnar.