Serje RHCSA: Ġestjoni tal-Proċess f'RHEL 7: Ibbutja, Tfigħ, u Kollox Bejn - Parti 5


Se nibdew dan l-artikolu b'reviżjoni ġenerali u qasira ta 'dak li jiġri mill-mument li tagħfas il-buttuna Power biex tixgħel is-server RHEL 7 tiegħek sakemm tiġi ppreżentat bl-iskrin tal-login f'interface tal-linja tal-kmand.

Jekk jogħġbok innota li:

1. l-istess prinċipji bażiċi japplikaw, b'modifiki forsi minuri, għal distribuzzjonijiet oħra tal-Linux ukoll, u
2. id-deskrizzjoni li ġejja mhix maħsuba biex tirrappreżenta spjegazzjoni eżawrjenti tal-proċess tal-but, iżda biss il-prinċipji fundamentali.

Linux Boot Process

1. Il-POST (Power On Self Test) jinizjalizza u jwettaq kontrolli tal-hardware.

2. Meta jintemm il-POST, il-kontroll tas-sistema jiġi mgħoddi lill-boot loader tal-ewwel stadju, li jinħażen jew fuq is-settur tal-boot ta 'wieħed mill-hard disks (għal sistemi anzjani li jużaw BIOS u MBR), jew (U)EFI dedikat diviżorju.

3. L-ewwel stadju boot loader imbagħad jgħabbi l-boot loader tat-tieni stadju, l-aktar ġeneralment GRUB (GRand Unified Boot Loader), li jirrisjedi ġewwa /boot, li mbagħad jgħabbi l-kernel u s-sistema inizjali tal-fajl ibbażata fuq RAM (magħrufa wkoll bħala initramfs). , li fih programmi u fajls binarji li jwettqu l-azzjonijiet meħtieġa biex fl-aħħar mill-aħħar jintramaw is-sistema tal-fajls tal-għeruq attwali).

4. Niġu ppreżentati bi splash screen li jippermettilna nagħżlu sistema operattiva u kernel biex nibdew:

5. Il-qalba twaqqaf il-ħardwer imwaħħal mas-sistema u ladarba s-sistema tal-fajls għerq tkun ġiet immuntata, tniedi proċess b'PID 1, li min-naħa tiegħu se initialize proċessi oħra u jippreżentalna pront ta 'login.

Nota: Li jekk irridu nagħmlu hekk aktar tard, nistgħu neżaminaw l-ispeċifiċitajiet ta 'dan il-proċess billi tuża l-kmand dmesg u niffiltraw l-output tagħha billi tuża l-għodod li spjegajna f'artikoli preċedenti ta' din is-serje.

Fl-eżempju ta’ hawn fuq, użajna l-kmand ps magħruf sew biex turi lista ta’ proċessi kurrenti li l-proċess prinċipali tagħhom (jew fi kliem ieħor, il-proċess li beda minnhom) huwa systemd (is-sistema u l-maniġer tas-servizz li l-biċċa l-kbira tad-distribuzzjonijiet moderni tal-Linux qalbu. to) waqt l-istartjar tas-sistema:

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

Ftakar li l-bandiera -o (qosra għal –format) tippermettilek tippreżenta l-output ta’ ps f’format apposta biex jaqbel mal-bżonnijiet tiegħek billi tuża l-kliem kjavi speċifikati fit-taqsima SPECIFIERS TAL-FORMAT STANDARD f’man ps.

Każ ieħor li fih trid tiddefinixxi l-output ta 'ps minflok ma tmur ma' l-inadempjenza huwa meta jkollok bżonn issib proċessi li qed jikkawżaw CPU sinifikanti u/jew tagħbija tal-memorja, u issortjahom kif xieraq:

# 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)

Introduzzjoni għal SystemD

Ftit deċiżjonijiet fid-dinja Linux ikkawżaw aktar kontroversji mill-adozzjoni ta 'systemd minn distribuzzjonijiet Linux ewlenin. L-avukati ta’ Systemd isemmu bħala l-vantaġġi ewlenin tagħha l-fatti li ġejjin:

Aqra wkoll: L-Istorja Wara 'init' u 'systemd'

1. Systemd jippermetti li jsir aktar ipproċessar b'mod parallel waqt l-istartjar tas-sistema (kuntrarju għal SysVinit anzjani, li dejjem għandu t-tendenza li jkun aktar bil-mod għax jibda proċessi wieħed wieħed, jiċċekkja jekk wieħed jiddependix fuq ieħor, u mbagħad jistenna li d-daemons jitniedu hekk jistgħu jibdew aktar servizzi), u

2. Taħdem bħala ġestjoni tar-riżorsi dinamika f'sistema li taħdem. Għalhekk, is-servizzi jinbdew meta jkun meħtieġ (biex jiġi evitat li jiġu kkunsmati r-riżorsi tas-sistema jekk ma jkunux qed jintużaw) minflok ma jiġu varati mingħajr raġuni valida waqt il-boot.

3. Kompatibilità b'lura ma 'skripts SysVinit.

Systemd huwa kkontrollat mill-utilità systemctl. Jekk ġej minn sfond ta' SysVinit, hemm ċans li tkun familjari ma':

  1. l-għodda tas-servizz, li -f'dawk is-sistemi eqdem- kienet użata biex timmaniġġja skripts SysVinit, u
  2. l-utilità chkconfig, li serviet l-iskop li taġġorna u tagħmel mistoqsija dwar l-informazzjoni tal-livell tar-runlevel għas-servizzi tas-sistema.
  3. shutdown, li trid tkun użajt diversi drabi biex jew terġa' tibda jew twaqqaf sistema li taħdem.

It-tabella li ġejja turi x-xebh bejn l-użu ta’ dawn l-għodod tal-wirt u systemctl:

Systemd introduċa wkoll il-kunċetti ta 'unitajiet (li jistgħu jkunu jew servizz, punt ta' muntaġġ, apparat, jew socket tan-netwerk) u miri (li huwa kif systemd jirnexxilu jibda diversi proċessi relatati fl-istess ħin, u jistgħu jitqiesu - għalkemm mhux ugwali- bħala l-ekwivalenti ta 'runlevels f'sistemi bbażati fuq SysVinit.

Fil-qosor

Ħidmiet oħra relatati mal-ġestjoni tal-proċess jinkludu, iżda jistgħu ma jkunux limitati għal, l-abbiltà li:

Dan jitwettaq permezz tal-utilità renice, li tbiddel il-prijorità tal-iskedar ta 'proċess wieħed jew aktar li għaddej. F'termini sempliċi, il-prijorità tal-iskedar hija karatteristika li tippermetti li l-kernel (preżenti fil-verżjonijiet => 2.6) jalloka r-riżorsi tas-sistema skont il-prijorità tal-eżekuzzjoni assenjata (magħruf ukoll bħala niceness, f'firxa minn -20 sa 19) ta 'proċess partikolari.

Is-sintassi bażika ta' renice hija kif ġej:

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

Fil-kmand ġeneriku ta 'hawn fuq, l-ewwel argument huwa l-valur ta' prijorità li għandu jintuża, filwaqt li l-argument l-ieħor jista 'jiġi interpretat bħala IDs tal-proċess (li huwa l-issettjar default), IDs tal-gruppi tal-proċess, IDs tal-utenti jew ismijiet tal-utenti. Utent normali (minbarra root) jista 'biss jimmodifika l-prijorità tal-iskedar ta' proċess li hu jew hi proprjetarju, u jżid biss il-livell ta 'niceness (li jfisser li jieħu inqas riżorsi tas-sistema).

F'termini aktar preċiżi, il-qtil ta' proċess jintitola li jibgħatlu sinjal biex jew itemm l-eżekuzzjoni tiegħu b'grazzja (SIGTERM=15) jew immedjatament (SIGKILL=9) permezz tal-kmandi kill jew pkill.

Id-differenza bejn dawn iż-żewġ għodod hija li l-ewwel jintuża biex itemm proċess speċifiku jew grupp ta 'proċessi għal kollox, filwaqt li l-aħħar jippermettilek li tagħmel l-istess abbażi tal-isem u attributi oħra.

Barra minn hekk, pkill jiġi magħqud mal-pgrep, li jurik il-PIDs li se jiġu affettwati jekk jintuża pkill. Per eżempju, qabel ma taħdem:

# pkill -u gacanepa

Jista' jkun utli li wieħed jara f'daqqa t'għajn liema huma l-PIDs ta' gacanepa:

# pgrep -l -u gacanepa

B'mod awtomatiku, kemm kill kif ukoll pkill jibagħtu s-sinjal SIGTERM lill-proċess. Kif semmejna hawn fuq, dan is-sinjal jista 'jiġi injorat (filwaqt li l-proċess jispiċċa l-eżekuzzjoni tiegħu jew għall-ġid), għalhekk meta serjament ikollok bżonn twaqqaf proċess li qed jaħdem b'raġuni valida, ikollok bżonn tispeċifika s-sinjal SIGKILL fuq il-linja tal-kmand:

# 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 

Konklużjoni

F'dan l-artikolu spjegajna l-baŜi tal-proċess tal-ibbutjar f'sistema RHEL 7, u analizzajna xi wħud mill-għodod li huma disponibbli biex jgħinuk fil-ġestjoni tal-proċessi bl-użu ta 'utilitajiet komuni u kmandi speċifiċi għas-sistema.

Innota li din il-lista mhix maħsuba biex tkopri l-qniepen u s-sfafar kollha ta 'dan is-suġġett, għalhekk tħossok liberu li żżid l-għodod u l-kmandi preferuti tiegħek stess ma' dan l-artikolu billi tuża l-formola tal-kummenti hawn taħt. Mistoqsijiet u kummenti oħra huma milqugħa wkoll.