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':
- l-għodda tas-servizz, li -f'dawk is-sistemi eqdem- kienet użata biex timmaniġġja skripts SysVinit, u
- 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.
- 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.