Riadenie procesov

Správa procesov v Ubuntu Linux

Správa procesov v Ubuntu Linux
Správa procesov v systéme Linux je dôležitá téma, ktorú je potrebné sa naučiť a porozumieť jej, pretože ide o operačný systém s viacerými úlohami a prebiehajúci súčasne s mnohými procesmi. Linux poskytuje mnoho nástrojov na správu procesov, ako je zoznam spustených procesov, procesy usmrcovania, monitorovanie používania systému atď. V systéme Linux je každý proces reprezentovaný jeho ID procesu (PID). Existujú určité ďalšie atribúty procesu, napríklad ID používateľa a ID skupiny, ak proces spustí používateľ alebo skupina. Niekedy musíte proces zabiť alebo s ním interagovať, takže by ste mali vedieť, ako tieto procesy spravovať, aby váš systém fungoval hladko. V systéme Linux možno procesy riadiť pomocou príkazov ako ps, pstree, pgrep, pkill, lsof, top, nice, renice and kill, atď.

Procesy

Spustenie inštancie programu sa nazýva proces. V systéme Linux sa ID procesu (PID) používa na vyjadrenie procesu, ktorý je charakteristický pre každý proces. Existujú dva typy procesov,

Procesy na pozadí

Procesy na pozadí sa začínajú v termináli a prebiehajú samy. Ak spustíte proces v termináli, jeho výstup sa zobrazí v okne terminálu a môžete s ním interagovať, ale ak s ním nemusíte interagovať, môžete ho spustiť na pozadí. Ak chcete spustiť proces na pozadí, stačí na koniec príkazu pridať znamienko „&“ a spustí sa na pozadí; ušetrí vám to čas a budete môcť začať ďalší proces. Na výpis procesov prebiehajúcich na pozadí použite príkaz 'jobs.„Zobrazí všetky spustené procesy na pozadí.

Napríklad aktualizácia je v systéme Linux dlhý proces. Trvá to príliš veľa času a ak chcete počas aktualizácie systému robiť ďalšie veci, použite príkaz na pozadí.

[chránené e-mailom]: ~ $ sudo apt-get upgrade -y &

Začne to bežať na pozadí. Medzitým môžete komunikovať s inými programami. Zadaním tohto príkazu môžete skontrolovať, koľko a ktoré procesy bežia na pozadí.

[chránené e-mailom]: ~ $ pracovných miest
[1] + Spúšťam sudo apt-get upgrade -y &

Nové procesy

Všetky procesy, ktoré v termináli bežíme, sú štandardne spustené ako procesy v popredí. Môžeme ich spravovať pomocou príkazov na popredí a na pozadí.

Akýkoľvek proces na pozadí uvedený v úlohách môžete presunúť do popredia zadaním príkazu „fg“, za ktorým nasleduje číslo procesu na pozadí.

[chránené e-mailom]: ~ $ fg% 1
sudo apt-get upgrade -y

A ak chcete presunúť tento proces na pozadie, zadajte tento príkaz.

[chránené e-mailom]: ~ $ bg% 1

Zoznam a správa procesov pomocou príkazu ps

Proces výpisu pomocou príkazu ps je jedným z najstarších spôsobov, ako zobraziť procesy bežiace na termináli. Zadaním príkazu ps vypíšete, ktoré procesy sú spustené a koľko systémových prostriedkov používajú a kto ich prevádzkuje.

[chránené e-mailom]: ~ $ ps u
UŽÍVATEĽ PID% CPU% MEM VSZ RSS TTY ŠTÁT ŠTÁT ŠTART ČAS PRÍKAZ
Jim 1562 0.0 0.0 164356 6476 tty2 Ssl + 13:07 0:00 škrupina
Jim 1564 5.2 0.9 881840 78704 tty2 Sl + 3:07 13:13 dauth
Jim 2919 0.0 0.0 11328 4660 bodov / 0 Ss 13:08 0:00 bash
Jim 15604 0.0 0.0 11836 3412 bodov / 0 R + 17:19 0:00 ps u
... snip ..

Stĺpec používateľa zobrazuje meno používateľa vo vyššie uvedenej tabuľke a PID zobrazuje ID procesu. Pomocou PID môžete zabiť alebo poslať signál zabitia do procesu. % CPU zobrazuje percento procesora CPU a% MEM ukazuje využitie pamäte náhodným prístupom. Ak chcete proces zabiť, napíšte.

[chránené e-mailom]: ~ $ kill [ID procesu (PID)]

alebo

[chránené e-mailom]: ~ $ kill -9 [ID procesu (PID)]

Pomocou príkazu ps aux môžete zobraziť všetky spustené procesy a pridať kanál, aby ste ho videli v uvedenom poradí.

[chránené e-mailom]: ~ $ ps aux | menej

Ak chcete zmeniť usporiadanie stĺpcov, môžete to urobiť pridaním vlajky -e pre zoznam všetkých procesov a -o na označenie stĺpcov kľúčovými slovami v príkaze ps.

[chránené e-mailom]: ~ $ ps -eo pid, user, uid,% cpu,% mem, vsz, rss, comm
PID UŽÍVATEĽ UID% CPU% MEM VSZ RSS PRÍKAZ
1 koreň 0 0.1 0.1 167848 11684 v systéme
3032 jim 1000 16.5 4.7 21744776 386524 chróm
... snip ..

Možnosti príkazu ps.

možnosť u sa používa na výpis procesov používateľmi.

[chránené e-mailom]: ~ $ ps u

Možnosť f sa používa na zobrazenie celého zoznamu.

[chránené e-mailom]: ~ $ ps f

Možnosť x sa používa na zobrazenie informácií o procese bez terminálu.

[chránené e-mailom]: ~ $ ps x

Možnosť e sa používa na zobrazenie rozšírených informácií.

[chránené e-mailom]: ~ $ ps e

používa sa možnosť na výpis všetkých procesov s terminálom.

[chránené e-mailom]: ~ $ ps a

v Možnosť slúži na zobrazenie formátu virtuálnej pamäte.

[chránené e-mailom]: ~ $ ps v

Príznaky príkazu ps.

-Príznak e sa používa na zobrazenie každého procesu v systéme.

[chránené e-mailom]: ~ $ ps -e

-príznak u sa používa na zobrazenie procesov bežiacich ako root.

[chránené e-mailom]: ~ $ ps -u

-Príznak f sa používa na úplný zoznam procesov.

[chránené e-mailom]: ~ $ ps -f

-o sa používa na zapísanie procesov do požadovaného stĺpca.

[chránené e-mailom]: ~ $ ps -o
pstree

pstree je ďalší príkaz na vypísanie procesov; zobrazuje výstup v stromovom formáte.

[chránené e-mailom]: ~ $ pstree

Možnosti príkazu pstree

-n sa používa na triedenie procesov podľa PID.

[chránené e-mailom]: ~ $ pstree -n

-H sa používa na zvýraznenie procesov.

[chránené e-mailom]: ~ $ pstree -H [PID]
[chránené e-mailom]: ~ $ pstree -H 6457

-a sa používa na zobrazovanie výstupu vrátane argumentov príkazového riadku.

[chránené e-mailom]: ~ $ pstree -a

-g sa používa na zobrazenie procesov podľa id skupiny.

[chránené e-mailom]: ~ $ pstree -g

-s sa používa na siatie stromu alebo konkrétneho procesu.

[chránené e-mailom]: ~ $ pstree -s [PID]
[chránené e-mailom]: ~ $ pstree -s 6457

[meno používateľa] sa používa na zobrazenie procesov vlastnených používateľom.

[chránené e-mailom]: ~ $ pstree [meno používateľa]
[chránené e-mailom]: ~ $ pstree jim
pgrep

Pomocou príkazu pgrep môžete nájsť spustený proces na základe určitých kritérií. Celý názov alebo skratku procesu môžete použiť na vyhľadanie alebo pomocou používateľského mena alebo iných atribútov. Príkaz pgrep sa riadi nasledujúcim vzorom.

[chránené e-mailom]: ~ $ Pgrep [možnosť] [vzor]
[chránené e-mailom]: ~ $ pgrep -u jim chrome
Možnosti príkazu pgrep

-i sa používa na vyhľadávanie malých a veľkých písmen

[chránené e-mailom]: ~ $ Pgrep -i firefox

-d sa používa na vymedzenie výstupu

[chránené e-mailom]: ~ $ Pgrep -u jim -d:

-u sa používa na vyhľadanie procesu vo vlastníctve používateľa

[chránené e-mailom]: ~ $ Pgrep -u jim

-a sa používa na výpis procesov popri ich príkazoch

[chránené e-mailom]: ~ $ Pgrep -u jim -a

-c sa používa na zobrazenie počtu párovacích procesov

[chránené e-mailom]: ~ $ Pgrep -c -u jim

-l sa používa na výpis procesov a ich názov

[chránené e-mailom]: ~ $ Pgrep -u jim -l
pkill

Pomocou príkazu pkill môžete odoslať signál bežiacemu procesu na základe určitých kritérií. Celý názov alebo skratku procesu môžete použiť na vyhľadanie alebo pomocou používateľského mena alebo iných atribútov. Príkaz pgrep sa riadi nasledujúcim vzorom.

[chránené e-mailom]: ~ $ Pkill [Možnosti] [Vzory]
[chránené e-mailom]: ~ $ Pkill -9 chróm
Možnosti príkazu pkill

-signál sa používa na zasielanie signálu e.g. SIGKILL, SIGTERM atď.

[chránené e-mailom]: ~ $ Pkill - signál SIGTERM vscode

-HUP sa používa na opätovné načítanie procesu

[chránené e-mailom]: ~ $ Pkill -HUP syslogd

-f sa používa na zabíjanie procesov založených na úplnom príkazovom riadku.

[chránené e-mailom]: ~ $ Pkill -f „ping 7.7.7.7 ”

-u sa používa na zabitie všetkých procesov vo vlastníctve používateľa.

[chránené e-mailom]: ~ $ Pkill -u jim

-i sa používa na zabitie procesu necitlivého na veľké a malé písmená pomocou pkill.

[chránené e-mailom]: ~ $ Pkill -i firefox

-9 sa používa na zasielanie signálu zabitia.

[chránené e-mailom]: ~ $ Pkill -9 chróm

-15 sa používa na odoslanie ukončovacieho signálu.

[chránené e-mailom]: ~ $ Pkill -15 vlc
lsof (Zoznam otvorených súborov)

Tento nástroj príkazového riadku sa používa na výpis súborov otvorených niekoľkými procesmi. A ako vieme, všetky systémy UNIX / Linux rozpoznávajú všetko ako súbor, takže je vhodné použiť zoznam všetkých otvorených súborov pomocou príkazu lsof.

[chránené e-mailom]: ~ $ lsof

Vo vyššie uvedenej tabuľke príkazu lsof predstavuje FD popis súboru, cwd predstavuje aktuálny pracovný adresár, txt znamená textový súbor, mem znamená súbory mapované do pamäte, mmap znamená zariadenia mapované do pamäte, REG predstavuje obyčajný súbor, DIR predstavuje adresár, rtd znamená koreňový adresár. S príkazom lsof môžete použiť ďalšie možnosti.

Možnosti príkazu lsof.

-c sa používa na výpis otvorených súborov podľa názvu procesu.

[chránené e-mailom]: ~ $ lsof -c chrome

-u sa používa na výpis otvorených súborov používateľom.

[chránené e-mailom]: ~ $ lsof -u jim

-i sa používa na výpis procesov vykonávajúcich na porte.

[chránené e-mailom]: ~ $ lsof -i

+D sa používa na výpis otvorených súborov v adresári.

[chránené e-mailom]: ~ $ lsof + D / home /

-p sa používa na výpis otvorených súborov podľa procesu.

[chránené e-mailom]: ~ $ lsof -p 1342

Výpis a správa procesu pomocou najvyššieho príkazu

Pomocou horného príkazu môžete zobraziť prehľad prebiehajúcich systémových procesov v reálnom čase. Zobrazuje procesy v závislosti od využitia procesora. Stĺpec môžete zoradiť podľa seba. Horný príkaz tiež poskytuje niektoré informácie o vašom systéme, napríklad ako dlho je systém spustený alebo koľko používateľov je pripojených k systému a koľko procesov je spustených, koľko procesora a pamäte RAM sa používa a zoznam každého z nich. procesu.

Zadaním vrchnej časti príkazu zobrazíte zoznam spustených procesov.

[chránené e-mailom]: ~ $ top
Úlohy: Celkovo 291, 1 bežiaci, 290 spiaci, 0 zastavený, 0 zombie
% Procesorov: 2.3us, 0.3sy, 0.0ni, 97.0id, 0.3wa, 0.0hi, 0.0si, 0.0st
MiB Mem: 7880.6 spolu, 1259.9 zadarmo, 3176 použitých, 3444.4 buff / cache
MiB swap: 2048.0 spolu, 2048.0 zadarmo, 0.0 použitých. 4091.8 využiť Mem
PID UŽÍVATEĽ PR NI VIRT RES SHR S% CPU% MEM ČAS + PRÍKAZ
3241 jim 20 0 20.7g 33512 10082 S 1.7 4.2 0:54.24 chróm
3327 jim 20 0 4698084 249156 86456 S 1.3 3.1 1:42.64 chróm
2920 jim 20 0 955400 410868 14372 S 1.0 5.1 7:51.04 chróm
3423 jim 20 0 4721584 198500 10106 S 1.0 2.5 0:49.00 chróm
3030 jim 20 0 458740 114044 66248 S 0.7 1.4 3:00.47 chróm
3937 jim 20 0 4610540 104908 72292 S 0.7 1.3 0:05.91 chróm
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 trpaslíkov+
1898 jim 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 chróm
3388 jim 20 0 4674192 156208 85032 S 0.3 1.9 0:13.91 chróm
3409 jim 20 0 4642180 140020 87304 S 0.3 1.7 0:15.36 chróm
3441 jim 20 0 16.5g 156396 89700 S 0.3 1.9 0:25.70 chróm
… .ostrihať .. .

S vrchným príkazom môžete tiež vykonať nejaké akcie, aby ste mohli zmeniť spustené procesy; tu je zoznam nižšie.

Všimnite si, ktorý proces vyžaduje viac pamäte alebo procesora. Procesy, ktoré spotrebúvajú viac pamäte, je možné zabiť a procesy, ktoré spotrebúvajú viac CPU, je možné renovovať, aby pre procesor nemali taký význam.

Na vrchu zabite postup: Stlačte k a napíš ID procesu, ktoré chceš zabiť. Potom napíšte 15 alebo 9, aby ste zabíjali normálne alebo okamžite; proces môžete zabiť aj príkazom kill alebo killall.

V hornej časti zrekonštruujte proces: Stlačte r a napíšte PID procesu, ktorý chcete opraviť. Požiada vás, aby ste zadali PID procesu a potom hodnotu mazania, ktorej chcete dať tento proces, medzi -19 až 20 (-19 znamená najvyššiu dôležitosť a 20 znamená najnižšiu dôležitosť).

Zoznam a správa procesov pomocou systému Monitor

Linux má systémový monitor gnome, ktorý dynamickejšie zobrazuje prebiehajúce procesy. Monitor systému spustíte stlačením klávesu Windows a zadaním monitora systému, kliknutím na jeho ikonu a v stĺpcoch uvidíte procesy. Kliknutím na ne pravým tlačidlom myši môžete proces zabiť, zastaviť alebo prebudovať.

Prebiehajúce procesy sú zobrazené s používateľskými účtami v abecednom poradí. Procesy môžete triediť podľa ľubovoľných nadpisov polí, ako sú CPU, pamäť atď., stačí na ne kliknúť a budú zoradené; napríklad kliknite na CPU a zistite, ktorý proces spotrebúva najviac energie procesora. Ak chcete spravovať procesy, kliknite na ne pravým tlačidlom myši a vyberte možnosť, ktorú chcete s procesom urobiť. Ak chcete proces spravovať, vyberte nasledujúce možnosti.

Zabíjanie procesu pomocou kill a killall

kill a príkaz killall sa používa na zabitie / ukončenie bežiaceho procesu. Tieto príkazy sa dajú použiť aj na odoslanie platného signálu bežiacemu procesu, napríklad na pokyn procesu, aby pokračoval, ukončil alebo znovu načítal konfiguračné súbory atď. Signály môžu byť písané oboma spôsobmi, číslami alebo menom. Nasleduje niekoľko bežne používaných signálov.

Popis čísla signálu

SIGHUP 1 Zistí signál zavesenia na riadiacom termináli.
SIGINT 2 Interpretované z klávesnice.
SIGQUIT 3 Ukončite prácu s klávesnicou.
SIGILL 4 Nezákonné pokyny.
SIGTRAP 5 Používa sa na sledovanie stopy.
SIGABRT 6 sa používa na prerušenie signálu z prerušenia (3).
SIGKILL 9 Používa sa na odoslanie signálu o zabití.
SIGTERM 15 Používa sa na odoslanie ukončovacieho signálu.
SIGCONT 19,18,25 Používa sa na pokračovanie procesu, ak je zastavený.
SIGSTOP 17,19,23 Používa sa na zastavenie procesov.

V rôznych operačných systémoch Unix / Linux sa používajú rôzne hodnoty SIGCONT a SIGSTOP. Podrobné informácie o signáloch typu man 7 signálny terminál.

Použitie príkazu kill na zaslanie signálu na spracovanie pomocou PID.

Poznačte si proces, ktorému chcete poslať signál o zabití. Identifikátor procesu (PID) nájdete pomocou príkazu ps alebo top.

PID UŽÍVATEĽ PR NI VIRT RES SHR S% CPU% MEM ČAS + PRÍKAZ
7780 jim 20 0 12596 4364 3460 R 33.3 3.2 13:54:12 top

Najvyšší proces spotrebúva 33.3% CPU. Ak chcete tento proces zabiť, aby ste šetrili využitie procesora, existuje niekoľko spôsobov, ako tento proces ukončiť príkazom kill.

[chránené e-mailom]: ~ $ kill 7780
[chránené e-mailom]: ~ $ kill -15 7780 alebo $ kill -SIGTERM 7780
[chránené e-mailom]: ~ $ kill -9 7780 alebo $ kill -SIGKILL 7780

Pomocou príkazu killall na odosielanie signálov procesu podľa názvu.

Pomocou príkazu killall nemusíte hľadať ID procesu; môžete odoslať signál zabitia procesu skôr podľa názvu ako podľa ID procesu. Môže tiež zabiť viac procesov, ako chcete, ak nie ste opatrní, napr.g., „Killall chrome“ zabije všetky chrómové procesy vrátane tých, ktoré nechcete zabiť. Niekedy je užitočné zabiť procesy s rovnakým názvom.

Rovnako ako príkaz kill, môžete do príkazu killall napísať signály podľa mena alebo čísla. Zabite akýkoľvek spustený proces pomocou príkazu killall; stačí napísať jeho meno a signál, ktorý chcete odoslať. e.g., pošlite signál zabijacieho procesu firefox pomocou príkazu killall, napíšte nasledujúci príkaz.

[chránené e-mailom]: ~ $ killall -9 firefox

alebo

[chránené e-mailom]: ~ $ killall SIGKILL chrome

Zmena priority procesu s pekným a renice

Každý proces vo vašom systéme Linux má vynikajúcu hodnotu a pohybuje sa medzi -19 až 20. Rozhodlo sa, ktorý proces získa väčší prístup k CPU v systéme. Čím nižšia je hodnota hodnoty nice, tým viac má proces prístup k procesu CPU. Rovnako ako -16 pekných hodnôt má lepší prístup k CPU ako 18 pekných hodnôt. Iba užívateľ s oprávneniami root môže priradiť zápornú hodnotu hodnoty nice. Bežný používateľ môže priradiť hodnotu „pekného“ iba medzi 0 až 19. Bežný užívateľ môže priradiť iba vyššie pekné hodnoty a na svoje vlastné procesy. Užívateľ typu root môže nastaviť ľubovoľnú príjemnú hodnotu pre akýkoľvek proces.

Ak chcete priraďovaniu peknej hodnoty poskytnúť procesu prístupnejším pre využitie procesora, zadajte nasledujúci príkaz.

[chránené e-mailom]: ~ $ pekný +3 chróm

A preorientujte proces

[chránené e-mailom]: ~ $ renice -n -6 3612

Záver

Tu je sprievodca správou vášho systému Linux pomocou programov ps, top, lsof, pstree, pkilll, kill, killall, nice, renice atď. Niektoré procesy spotrebúvajú väčšinu využitia CPU a RAM; vedieť, ako ich spravovať, zvyšuje rýchlosť a výkon vášho systému a poskytuje lepšie prostredie na efektívnejšie fungovanie procesov, ktoré chcete.

Hry Najlepšie emulátory herných konzol pre systém Linux
Najlepšie emulátory herných konzol pre systém Linux
V tomto článku je uvedený zoznam populárneho softvéru na emuláciu herných konzol, ktorý je k dispozícii pre systém Linux. Emulácia je vrstva kompatibi...
Hry Najlepšie linuxové distribúcie pre hry v roku 2021
Najlepšie linuxové distribúcie pre hry v roku 2021
Operačný systém Linux prešiel dlhou cestou od svojho originálneho, jednoduchého serverového vzhľadu. Tento OS sa za posledné roky nesmierne vylepšil a...
Hry Ako zachytiť a streamovať vašu hernú reláciu v systéme Linux
Ako zachytiť a streamovať vašu hernú reláciu v systéme Linux
V minulosti sa hranie hier považovalo iba za hobby, ale časom došlo v hernom priemysle k obrovskému nárastu z hľadiska technológie i počtu hráčov. Her...