Procesų valdymas

Procesų valdymas naudojant „Ubuntu Linux“

Procesų valdymas naudojant „Ubuntu Linux“
Procesų valdymas sistemoje „Linux“ yra svarbi tema, kurią reikia išmokti ir suprasti, nes tai yra daugiafunkcinė operacinė sistema ir vienu metu vyksta daugybė procesų. „Linux“ teikia daug įrankių procesams valdyti, pvz., Rodyti vykstančius procesus, žudyti procesus, stebėti sistemos naudojimą ir kt. „Linux“ sistemoje kiekvieną procesą atspindi jo proceso ID (PID). Yra keletas kitų proceso atributų, pvz., Vartotojo ID ir grupės ID, jei vartotojas ar grupė vykdo procesą. Kartais reikia nužudyti ar sąveikauti su procesu, todėl turėtumėte žinoti, kaip valdyti šiuos procesus, kad jūsų sistema veiktų sklandžiai. „Linux“ procesus galima valdyti tokiomis komandomis kaip ps, pstree, pgrep, pkill, lsof, top, nice, renice ir kill, ir pan.

Procesai

Programos egzemplioriaus paleidimas vadinamas procesu. „Linux“ sistemoje proceso ID (PID) naudojamas norint apibūdinti procesą, kuris yra būdingas kiekvienam procesui. Yra dviejų tipų procesai,

Fono procesai

Foniniai procesai prasideda terminale ir vyksta patys. Jei paleidžiate procesą terminale, jo išvestis bus rodoma terminalo lange ir galėsite su juo bendrauti, tačiau jei jums nereikia sąveikauti su procesu, galite jį paleisti fone. Jei norite paleisti procesą fone, tiesiog komandos pabaigoje pridėkite ženklą „&“, ir jis pradės veikti fone; tai sutaupys jūsų laiko ir galėsite pradėti kitą procesą. Norėdami išvardyti procesus, vykstančius fone, naudokite komandą „job“.'Fone bus rodomi visi vykdomi procesai.

Pavyzdžiui, „Linux“ atnaujinimas yra ilgas procesas. Tai užima per daug laiko, o jei sistemos naujovinimo metu norite atlikti kitus dalykus, naudokite komandą fone.

[apsaugotas el. pašto adresas]: ~ $ sudo apt-get upgrade -y &

Jis pradės veikti fone. Tuo tarpu galite bendrauti su kitomis programomis. Įvesdami šią komandą, galite patikrinti, kiek ir kokių procesų veikia fone.

[apsaugotas el. paštas]: ~ $ darbo vietų
[1] + Veikia sudo apt-get upgrade -y &

Pirmojo plano procesai

Visi procesoriai, kuriuos vykdome terminale, pagal numatytuosius nustatymus vykdomi kaip pagrindiniai procesai. Mes galime juos valdyti naudodamiesi pirmojo ir foninio komandomis.

Bet kurį užduotyse nurodytą foninį procesą galite iškelti į priekį, įvesdami komandą „fg“, po kurios nurodomas fono proceso numeris.

[apsaugotas el. paštas]: ~ $ fg% 1
sudo apt-get upgrade -y

Ir jei norite perkelti šį procesą į foną, įveskite šią komandą.

[apsaugotas el. paštas]: ~ $ bg% 1

Procesų sąrašas ir valdymas naudojant komandą ps

Įtraukimo į sąrašą procesas su ps komanda yra vienas iš seniausių būdų peržiūrėti terminalo vykdomus procesus. Įveskite ps komandą, kad išvardytumėte vykstančius procesus, kiek sistemos išteklių jie naudoja ir kas juos vykdo.

[apsaugotas el. paštas]: ~ $ ps u
VARTOTOJO PID% CPU% MEM VSZ RSS „TTY STAT STAT“ START TIME COMMAND
Jim 1562 0.0 0.0 164356 6476 tty2 Ssl + 13:07 0:00 apvalkalas
Jim 1564 5.2 0.9 881840 78704 tty2 Sl + 3:07 13:13 dauth
Jim 2919 0.0 0.0 11328 4660 tšk. / 0 Ss 13:08 0:00 bash
Jim 15604 0.0 0.0 11836 3412 tšk. / 0 R + 17:19 0:00 ps u
... iškirpti ..

Vartotojo stulpelyje vartotojo vardas nurodomas pirmiau pateiktoje lentelėje, o PID - proceso ID. Galite naudoti PID, kad nužudytumėte ar išsiųstumėte užmušimo signalą procesui. % CPU rodo procesoriaus procentinį procesorių, o% MEM - laisvosios kreipties atminties naudojimą. Norėdami užmušti procesą, įveskite.

[apsaugotas el. pašto adresas]: ~ $ kill [proceso ID (PID)]

arba

[apsaugotas el. paštas]: ~ $ kill -9 [proceso ID (PID)]

Norėdami pamatyti visus vykstančius procesus, naudokite komandą ps aux ir pridėkite vamzdį, kad pamatytumėte jį eilės tvarka.

[apsaugotas el. paštas]: ~ $ ps aux | mažiau

Jei norite pertvarkyti stulpelius, galite tai padaryti pridėdami vėliavą -e visų procesų išvardijimui ir -o nurodant stulpelius pagal raktinius žodžius komandoje ps.

[apsaugotas el. paštas]: ~ $ ps -eo pid, user, uid,% cpu,% mem, vsz, rss, comm
PID USER UID% CPU% MEM VSZ RSS COMMAND
1 šaknis 0 0.1 0.1 167848 11684 susisteminta
3032 jim 1000 16.5 4.7 21744776 386524 chromas
... iškirpti ..

Ps komandos parinktys.

u parinktis naudojama vartotojams surašant procesus.

[el. pašto saugoma]: ~ $ ps u

f parinktis naudojama rodyti visą sąrašą.

[el. pašto saugoma]: ~ $ ps f

x parinktis naudojama informacijai apie procesą rodyti be terminalo.

[apsaugotas el. paštas]: ~ $ ps x

Parinktis naudojama išplėstinei informacijai rodyti.

[el. pašto saugoma]: ~ $ ps e

parinktis naudojama išvardyti visus procesus su terminalu.

[el. pašto saugoma]: ~ $ ps a

v parinktis naudojama virtualios atminties formatui rodyti.

[apsaugotas el. paštas]: ~ $ ps v

Vėliavos ps komandai.

-Vėliava naudojama kiekvienam sistemos procesui matyti.

[apsaugotas el. paštas]: ~ $ ps -e

-u vėliava naudojama procesams, kurie veikia kaip šakniniai, matyti.

[apsaugotas el. paštas]: ~ $ ps -u

-f vėliava naudojama visam procesų sąrašui.

[apsaugotas el. paštas]: ~ $ ps -f

-o vėliava naudojama procesams įrašyti į norimą stulpelį.

[apsaugotas el. paštas]: ~ $ ps -o
pstree

pstree yra dar viena komanda, nurodanti procesus; tai rodo išvestį medžio formatu.

[apsaugotas el. paštas]: ~ $ pstree

Pstree komandos parinktys

-n yra naudojamas rūšiavimo procesams pagal PID.

[apsaugotas el. paštas]: ~ $ pstree -n

-H naudojama procesams paryškinti.

[apsaugotas el. pašto adresas]: ~ $ pstree -H [PID]
[apsaugotas el. paštu]: ~ $ pstree -H 6457

-a naudojamas rodyti išvestį, įskaitant komandinės eilutės argumentus.

[apsaugotas el. paštas]: ~ $ pstree -a

-g naudojamas procesams rodyti pagal grupės ID.

[el. pašto saugoma]: ~ $ pstree -g

-s naudojamas sėti medį ar konkretų procesą.

[apsaugotas el. pašto adresas]: ~ $ pstree -s [PID]
[apsaugotas el. paštas]: ~ $ pstree -s 6457

[Vartotojo vardas] naudojamas vartotojui priklausantiems procesams rodyti.

[apsaugotas el. pašto adresas]: ~ $ pstree [vartotojo vardas]
[apsaugotas el. paštas]: ~ $ pstree jim
pgrep

Naudodami komandą pgrep, galite rasti vykstantį procesą pagal tam tikrus kriterijus. Norėdami rasti arba naudodami vartotojo vardą ar kitus atributus, galite naudoti visą proceso pavadinimą arba santrumpą. komanda pgrep seka tokiu modeliu.

[apsaugotas el. paštu]: ~ $ Pgrep [parinktis] [modelis]
[apsaugotas el. paštas]: ~ $ pgrep -u jim chrome
Komandos „pgrep“ parinktys

-i naudojamas ieškant didžiųjų ir mažųjų raidžių

[apsaugotas el. paštas]: ~ $ Pgrep -i firefox

-d yra naudojamas išvesties atribojimui

[apsaugotas el. pašto adresas]: ~ $ Pgrep -u jim -d:

-u naudojamas vartotojui priklausančiam procesui surasti

[apsaugotas el. paštas]: ~ $ Pgrep -u jim

-a yra naudojamas išvardyti procesus kartu su jų komandomis

[apsaugotas el. paštas]: ~ $ Pgrep -u jim -a

-c naudojamas atitikimo procesų skaičiui parodyti

[apsaugotas el. paštas]: ~ $ Pgrep -c -u jim

-l naudojamas sąrašų teikimo procesams ir jų pavadinimams

[apsaugotas el. paštas]: ~ $ Pgrep -u jim -l
pkill

Naudodami komandą pkill, galite nusiųsti signalą vykstančiam procesui pagal tam tikrus kriterijus. Norėdami rasti arba naudodami vartotojo vardą ar kitus atributus, galite naudoti visą proceso pavadinimą arba santrumpą. komanda pgrep seka tokiu modeliu.

[apsaugotas el. paštu]: ~ $ Pkill [Parinktys] [Raštai]
[apsaugotas el. paštu]: ~ $ Pkill -9 chromas
Pkill komandos parinktys

-signalas yra naudojamas siunčiant signalą e.g. SIGKILL, SIGTERM ir kt.

[apsaugotas el. pašto adresas]: ~ $ Pkill - signalo SIGTERM vscode

-HUP naudojamas procesui perkrauti

[apsaugotas el. pašto adresas]: ~ $ Pkill -HUP syslogd

-f naudojamas žudant procesus, remiantis visa komandine eilute.

[apsaugotas el. paštas]: ~ $ Pkill -f “ping 7.7.7.7 ”

-u naudojama visiems vartotojui priklausantiems procesams žudyti.

[apsaugotas el. paštas]: ~ $ Pkill -u jim

-i yra naudojamas nejautriam proceso žudymui pkill.

[apsaugotas el. paštas]: ~ $ Pkill -i firefox

-9 naudojamas siunčiant nužudymo signalą.

[apsaugotas el. paštu]: ~ $ Pkill -9 chromas

-15 naudojamas siunčiant nutraukimo signalą.

[apsaugotas el. paštas]: ~ $ Pkill -15 vlc
lsof (atidarytų failų sąrašas)

Ši komandinės eilutės programa naudojama failams, kuriuos atidarė keli procesai, išvardyti. Ir kaip žinome, visos UNIX / Linux sistemos viską atpažįsta kaip failą, todėl patogu naudoti komandą lsof, kad būtų išvardyti visi atidaryti failai.

[apsaugotas el. paštas]: ~ $ lsof

Pirmiau pateiktoje komandos „lsof“ lentelėje FD reiškia failo aprašą, cwd - dabartinį darbo katalogą, txt reiškia tekstinį failą, mem reiškia atmintyje susietus failus, mmap reiškia atmintyje susietus įrenginius, REG reiškia įprastą failą, DIR reiškia katalogą, rtd reiškia šakninį katalogą. Yra ir kitų parinkčių, kurias galite naudoti su komanda lsof.

„Lsof“ komandos parinktys.

-c yra naudojamas atidarytų failų sąrašui pagal jų proceso pavadinimą.

[apsaugotas el. paštas]: ~ $ lsof -c chromas

-u yra naudojamas vartotojo atidarytų failų sąrašui.

[apsaugotas el. paštas]: ~ $ lsof -u jim

-i naudojama sąraše procesų, vykdančių uoste.

[apsaugotas el. paštas]: ~ $ lsof -i

+D yra naudojamas atidarytų failų sąrašui kataloge.

[apsaugotas el. paštas]: ~ $ lsof + D / home /

-p yra naudojamas atidarantiems failams įtraukti į procesą.

[apsaugotas el. paštu]: ~ $ lsof -p 1342

Procesų sąrašas ir valdymas naudojant viršutinę komandą

Naudodami viršutinę komandą galite realiuoju laiku rodyti vykdomų sistemos procesų vaizdą. Tai rodo procesus, priklausomai nuo procesoriaus naudojimo. Stulpelį galite rūšiuoti pagal save. Viršutinėje komandoje taip pat pateikiama tam tikra informacija apie jūsų sistemą, pvz., Kiek laiko sistema veikia arba kiek vartotojų yra prisijungę prie sistemos ir kiek procesų veikia, kiek procesoriaus ir RAM naudojama, ir kiekvieno iš jų sąrašas procesą.

Įveskite komandą viršuje, kad išvardytumėte vykstančius procesus.

[apsaugotas el. paštas]: ~ $ top
Užduotys: iš viso 291, 1 bėgimas, 290 miego, 0 sustojimų, 0 zombių
% Procesorius (-ai): 2.3us, 0.3sy, 0.0ni, 97 m.0id, 0.3wa, 0.0hi, 0.0si, 0.0-oji
MiB Mem: 7880.6 iš viso, 1259.9 nemokamai, 3176 naudoti, 3444.4 bufetas / talpykla
„MiB Swap“: 2048 m.0 iš viso, 2048 m.0 nemokama, 0.0 naudota. 4091.8 pasinaudoti Mem
PID VARTOTOJO PR NI VIRT RES SHR S% CPU% MEM LAIKAS + KOMANDA
3241 džim 20 0 20.7g 33512 10082 S 1.7 4.2 0:54.24 chromas
3327 jim 20 0 4698084 249156 86456 S 1.3 3.1 1:42.64 chromas
2920 jim 20 0 955400 410868 14372 S 1.0 5.1 7:51.04 chromas
3423 jim 20 0 4721584 198500 10106 S 1.0 2.5 0:49.00 chromas
3030 jim 20 0 458740 114044 66248 S 0.7 1.4 3:00 val.47 chromas
3937 jim 20 0 4610540 104908 72292 S 0.7 1.3 0:05.91 chromas
1603 jim 20 0 825608 67532 40416 S 0.3 0.8 3:13.52 Xorg
1756 jim 20 0 4154828 257056 10060 S 0.3 3.2 5:53.31 nykštukas+
1898 m. Liepos 20 0 289096 29284 5668 S 0.3 0.4 1:06.28 fusuma
3027 jim 20 0 587580 14304 75960 S 0.3 1.8 9:43.59 chromas
3388 jim 20 0 4674192 156208 85032 S 0.3 1.9 0:13.91 chromas
3409 jim 20 0 4642180 140020 87304 S 0.3 1.7 0:15.36 chromas
3441 džim 20 0 16.5g 156396 89700 S 0.3 1.9 0:25.70 chromo
… .iškirpti… .

Taip pat galite atlikti keletą veiksmų naudodami komandą „top“, kad pakeistumėte vykdomus procesus; čia yra žemiau pateiktas sąrašas.

Atkreipkite dėmesį, kuris procesas sunaudoja daugiau atminties ar procesoriaus. Tie procesai, kurie sunaudoja daugiau atminties, gali būti nužudyti, o tie procesai, kurie sunaudoja daugiau procesoriaus, gali būti atsisakyti, kad jie mažiau svarbūs procesoriui.

Nužudyk procesą viršuje: Paspauskite k ir parašykite proceso ID, kurį norite nužudyti. Tada įveskite 15 arba 9, kad nužudytumėte paprastai ar nedelsdami; taip pat galite nužudyti procesą naudodami komandą kill arba killall.

Atnaujinkite procesą viršuje: Paspauskite r ir parašykite proceso, kurį norite pakeisti, PID. Jis paprašys įvesti proceso PID ir tada vertę, kurią norite suteikti šiam procesui nuo -19 iki 20 (-19 reiškia didžiausią svarbą ir 20 reiškia mažiausią svarbą).

Procesų sąrašas ir valdymas naudojant sistemos monitorių

„Linux“ turi sistemos stebėjimo gnome, kad dinamiškiau būtų rodomi vykdomi procesai. Norėdami paleisti sistemos monitorių, paspauskite „Windows“ klavišą ir įveskite sistemos monitorių, spustelėkite jo piktogramą ir galite matyti procesus stulpeliuose. Dešiniuoju pelės mygtuku spustelėję juos, galite nužudyti, sustabdyti arba atsisakyti proceso.

Vykdomi procesai rodomi su abonementais abėcėlės tvarka. Galite rūšiuoti procesus pagal bet kokias lauko antraštes, tokias kaip procesorius, atmintis ir kt., tiesiog spustelėkite juos ir jie bus rūšiuojami; pavyzdžiui, spustelėkite CPU, kad pamatytumėte, kuris procesas sunaudoja daugiausiai procesoriaus energijos. Norėdami valdyti procesus, dešiniuoju pelės mygtuku spustelėkite juos ir pasirinkite parinktį, kurią norite atlikti su procesu. Norėdami valdyti procesą, pasirinkite šias parinktis.

Proceso nužudymas žudant ir žudant

nužudyti, o komanda killall naudojama nužudyti / užbaigti vykdomą procesą. Šios komandos taip pat gali būti naudojamos siunčiant galiojantį signalą vykstančiam procesui, pvz., Nurodant procesui tęsti, baigti arba perskaityti konfigūracijos failus ir t. T. Signalus galima rašyti abiem būdais skaičiais arba vardu. Toliau pateikiami keli dažniausiai naudojami signalai.

Signalo numerio aprašymas

1 SIGHUP Aptinka pakabinimo signalą valdymo terminale.
2 SIGINT Interpretuota iš klaviatūros.
SIGQUIT 3 Išeikite iš klaviatūros.
4 SIGILL Neteisėti nurodymai.
SIGTRAP 5 naudojamas spąstams atsekti.
SIGABRT 6 naudojamas nutraukti signalą iš nutraukimo (3).
SIGKILL 9 Naudojamas siunčiant nužudymo signalą.
15 SIGTERM Skirta užbaigimo signalui siųsti.
SIGCONT 19,18,25 Naudojamas tęsti procesą, jei jis sustabdomas.
SIGSTOP 17,19,23 Naudojamas procesams sustabdyti.

Skirtingose ​​„Unix / Linux“ operacinėse sistemose naudojamos skirtingos „SIGCONT“ ir „SIGSTOP“ reikšmės. Išsamios informacijos apie žmogaus 7 signalo tipą.

Komandos „kill“ naudojimas signalo siuntimui apdoroti pagal PID.

Atkreipkite dėmesį į procesą, kuriam norite siųsti žudymo signalą. Proceso ID (PID) galite rasti naudodami ps arba viršutinę komandą.

PID VARTOTOJO PR NI VIRT RES SHR S% CPU% MEM LAIKAS + KOMANDA
7780 džim 20 0 12596 4364 3460 R 33.3 3.2 13:54:12 viršuje

Viršutinis procesas sunaudoja 33.3% procesoriaus. Jei norite sunaikinti šį procesą, kad sutaupytumėte procesoriaus naudojimą, pateikiame keletą būdų, kaip užbaigti šį procesą naudodami komandą „kill“.

[apsaugotas el. paštas]: ~ $ kill 7780
[apsaugotas el. paštu]: ~ $ kill -15 7780 arba $ kill -SIGTERM 7780
[apsaugotas el. paštu]: ~ $ kill -9 7780 arba $ kill -SIGKILL 7780

Naudojant „killall“ komandą, norint siųsti signalus procesui pagal pavadinimą.

Naudodami komandą killall, jums nereikia ieškoti proceso ID; galite siųsti procesui nužudymo signalą vardu, o ne proceso ID. Tai taip pat gali užmušti daugiau procesų, nei norite, jei nesate atsargūs, t.g., „Killall chrome“ sunaikins visus chromo procesus, įskaitant tuos, kurių nenorite užmušti. Kartais naudinga užmušti to paties pavadinimo procesus.

Kaip ir komandą „kill“, komandoje killall galite įvesti signalus pagal pavadinimą arba skaičių. Nužudyk bet kokį vykdomą procesą naudodamas komandą killall; turite įvesti tik jo pavadinimą ir norimą siųsti signalą. e.g., nusiųskite „kill“ signalo procesą „Firefox“ naudodami komandą „killall“, parašykite žemiau esančią komandą.

[apsaugotas el. paštas]: ~ $ killall -9 firefox

arba

[apsaugotas el. paštas]: ~ $ killall SIGKILL chromas

Proceso prioriteto keitimas maloniu ir atsinaujinančiu būdu

Kiekvienas jūsų „Linux“ sistemos procesas turi puikią vertę ir yra nuo -19 iki 20. Jis nusprendė, kuris procesas gaus daugiau procesoriaus prieigos sistemoje. Kuo mažesnė „nice“ vertė, tuo didesnis procesas turi prieigą prie procesoriaus proceso. Patinka -16 gražios vertės turi daugiau prieigos prie procesoriaus nei 18 gražių reikšmių. Neigiamą „nice“ vertę gali priskirti tik vartotojas, turintis root teises. Įprastas vartotojas gali priskirti vertę „gražus“ tik nuo 0 iki 19. Paprastas vartotojas gali priskirti tik didesnes gražias vertes ir savo procesams. Root vartotojas gali nustatyti bet kokią malonią reikšmę bet kuriam procesui.

Jei norite suteikti procesoriui prieinamesnį procesoriaus naudojimą, priskirdami gražią vertę, įveskite šią komandą.

[apsaugotas el. paštas]: ~ $ nice +3 chromas

Ir atsisakykite proceso

[apsaugotas el. paštas]: ~ $ renice -n -6 3612

Išvada

Čia yra jūsų „Linux“ sistemos valdymo su ps, top, lsof, pstree, pkilll, kill, killall, nice, renice ir kt. Vadovas. Kai kurie procesai sunaudoja didžiąją dalį procesoriaus ir RAM; žinant, kaip juos valdyti, padidėja sistemos greitis ir našumas bei suteikiama geresnė aplinka efektyviau vykdyti visus norimus procesus.

„Vulkan“, skirta „Linux“ vartotojams
Kiekvienos naujos kartos grafikos plokštės matome, kaip žaidimų kūrėjai peržengia grafinės ištikimybės ribas ir artėja prie fotorealizmo. Nepaisant vi...
„OpenTTD“ ir „Simutrans“
Sukurti savo transporto modeliavimą gali būti smagu, atpalaiduojanti ir be galo viliojanti. Štai kodėl jūs turite įsitikinti, kad išbandėte kuo daugia...
„OpenTTD“ pamoka
„OpenTTD“ yra vienas iš populiariausių verslo modeliavimo žaidimų. Šiame žaidime turite sukurti nuostabų transporto verslą. Tačiau pradėsite nuo mažda...