Řízení procesu

Správa procesů v Ubuntu Linux

Správa procesů v Ubuntu Linux
Správa procesů v systému Linux je důležitým tématem, kterému se musíte naučit a porozumět mu, protože se jedná o multitaskingový operační systém a mnoho procesů probíhajících současně. Linux poskytuje mnoho nástrojů pro správu procesů, jako je výpis spuštěných procesů, zabíjení procesů, monitorování využití systému atd. V systému Linux je každý proces reprezentován svým ID procesu (PID). Existují některé další atributy procesu, jako je ID uživatele a ID skupiny, pokud proces spustí uživatel nebo skupina. Někdy musíte proces zabít nebo s ním komunikovat, takže byste měli vědět, jak tyto procesy spravovat, aby váš systém fungoval hladce. V Linuxu lze procesy spravovat pomocí příkazů jako ps, pstree, pgrep, pkill, lsof, top, nice, renice and kill, atd.

Procesy

Spuštění instance programu se nazývá proces. V systému Linux se ID procesu (PID) používá k reprezentaci procesu, který je charakteristický pro každý proces. Existují dva typy procesů,

Procesy na pozadí

Procesy na pozadí začínají v terminálu a běží samy. Pokud spustíte proces v terminálu, jeho výstup se zobrazí v okně terminálu a můžete s ním komunikovat, ale pokud nepotřebujete s procesem pracovat, můžete jej spustit na pozadí. Pokud chcete spustit proces na pozadí, přidejte na konec příkazu znaménko „&“ a spustí se na pozadí; ušetří vám to čas a budete moci zahájit další proces. Pro vypsání procesů běžících na pozadí použijte příkaz 'jobs.„Zobrazí všechny běžící procesy na pozadí.

Například upgrade je v Linuxu dlouhý proces. Trvá to příliš dlouho a pokud chcete během upgradování systému dělat jiné věci, použijte příkaz na pozadí.

[chráněno e-mailem]: ~ $ sudo apt-get upgrade -y &

Spustí se na pozadí. Mezitím můžete komunikovat s jinými programy. Zadáním tohoto příkazu můžete zkontrolovat, kolik a které procesy běží na pozadí.

[chráněno e-mailem]: ~ $ pracovních míst
[1] + Spuštění sudo apt-get upgrade -y &

Popředí procesy

Všechny procesy, které v terminálu spouštíme, jsou standardně spouštěny jako procesy v popředí. Můžeme je spravovat pomocí příkazů v popředí a na pozadí.

Jakýkoli proces na pozadí uvedený v úlohách můžete přenést do popředí zadáním příkazu 'fg' následovaným číslem procesu na pozadí.

[chráněno e-mailem]: ~ $ fg% 1
sudo apt-get upgrade -y

A pokud chcete tento proces přenést na pozadí, zadejte tento příkaz.

[chráněno e-mailem]: ~ $ bg% 1

Výpis a správa procesů pomocí příkazu ps

Proces výpisu pomocí příkazu ps je jedním z nejstarších způsobů, jak zobrazit procesy běžící na terminálu. Zadejte příkaz ps a uveďte, které procesy běží a kolik systémových prostředků používají a kdo je spouští.

[chráněno e-mailem]: ~ $ ps u
UŽIVATEL PID% CPU% MEM VSZ RSS TTY STAT START ČAS PŘÍKAZ
Jim 1562 0.0 0.0 164356 6476 tty2 Ssl + 13:07 0:00 shell
Jim 1564 5.2 0.9 881840 78704 tty2 Sl + 3:07 13:13 dauth
Jim 2919 0.0 0.0 11328 4660 bodů / 0 Ss 13:08 0:00 bash
Jim 15604 0.0 0.0 11836 3412 bodů / 0 R + 17:19 0:00 ps u
... snip ..

Sloupec uživatele zobrazuje uživatelské jméno ve výše uvedené tabulce a PID zobrazuje ID procesu. Pomocí PID můžete zabít nebo poslat signál zabití do procesu. % CPU ukazuje procento procesoru CPU a% MEM ukazuje využití paměti s náhodným přístupem. Chcete-li proces zabít, zadejte.

[chráněno e-mailem]: ~ $ kill [ID procesu (PID)]

nebo

[chráněno e-mailem]: ~ $ kill -9 [ID procesu (PID)]

Chcete-li zobrazit všechny spuštěné procesy, použijte příkaz ps aux a přidejte kanál, abyste jej viděli v pořádku.

[chráněno e-mailem]: ~ $ ps aux | méně

Chcete-li změnit uspořádání sloupců, můžete to udělat přidáním vlajky -E pro výpis všech procesů a pro označení sloupců pomocí klíčových slov v příkazu ps.

[chráněno e-mailem]: ~ $ ps -eo pid, uživatel, uid,% cpu,% mem, vsz, rss, komunikace
PID UŽIVATEL UID% CPU% MEM VSZ RSS PŘÍKAZ
1 kořen 0 0.1 0.1 167848 11684 v systému
3032 jim 1000 16.5 4.7 21744776 386524 chrom
... snip ..

Možnosti příkazu ps.

Možnost u se používá pro výpis procesů uživateli.

[chráněno e-mailem]: ~ $ ps u

Možnost f se používá k zobrazení celého seznamu.

[chráněno e-mailem]: ~ $ ps f

Možnost x se používá k zobrazení informací o procesu bez terminálu.

[chráněno e-mailem]: ~ $ ps x

Možnost e se používá k zobrazení rozšířených informací.

[chráněno e-mailem]: ~ $ ps e

možnost se používá pro výpis všech procesů s terminálem.

[chráněno e-mailem]: ~ $ ps a

Možnost v se používá k zobrazení formátu virtuální paměti.

[chráněno e-mailem]: ~ $ ps v

Příznaky pro příkaz ps.

-Příznak e slouží k zobrazení všech procesů v systému.

[chráněno e-mailem]: ~ $ ps -e

-Příznak u se používá k zobrazení procesů spuštěných jako root.

[chráněno e-mailem]: ~ $ ps -u

-Příznak f se používá pro úplný seznam procesů.

[chráněno e-mailem]: ~ $ ps -f

-o se používá příznak pro výpis procesů do požadovaného sloupce.

[chráněno e-mailem]: ~ $ ps -o
pstree

pstree je další příkaz k vypsání procesů; zobrazuje výstup ve stromovém formátu.

[chráněno e-mailem]: ~ $ pstree

Možnosti příkazu pstree

-n se používá pro třídění procesů podle PID.

[chráněno e-mailem]: ~ $ pstree -n

-H se používá pro zvýraznění procesů.

[chráněno e-mailem]: ~ $ pstree -H [PID]
[chráněno e-mailem]: ~ $ pstree -H 6457

-A slouží k zobrazení výstupu, včetně argumentů příkazového řádku.

[chráněno e-mailem]: ~ $ pstree -a

-G slouží k zobrazení procesů podle ID skupiny.

[chráněno e-mailem]: ~ $ pstree -g

-s se používá k setí stromu nebo konkrétního procesu.

[chráněno e-mailem]: ~ $ pstree -s [PID]
[chráněno e-mailem]: ~ $ pstree -s 6457

[uživatelské jméno] se používá k zobrazení procesů vlastněných uživatelem.

[chráněno e-mailem]: ~ $ pstree [uživatelské jméno]
[chráněno e-mailem]: ~ $ pstree jim
pgrep

Pomocí příkazu pgrep můžete najít spuštěný proces založený na určitých kritériích. Můžete použít celé jméno nebo zkratku procesu k vyhledání nebo podle uživatelského jména nebo jiných atributů. Příkaz pgrep se řídí následujícím vzorem.

[chráněno e-mailem]: ~ $ Pgrep [volba] [vzor]
[chráněno e-mailem]: ~ $ pgrep -u jim chrome
Možnosti příkazu pgrep

-i se používá pro vyhledávání malých a velkých písmen

[chráněno e-mailem]: ~ $ Pgrep -i firefox

-d se používá k vymezení výstupu

[chráněno e-mailem]: ~ $ Pgrep -u jim -d:

-u slouží k vyhledání procesu vlastněného uživatelem

[chráněno e-mailem]: ~ $ Pgrep -u jim

-A se používá pro výpis procesů vedle jejich příkazů

[chráněno e-mailem]: ~ $ Pgrep -u jim -a

-C se používá pro zobrazení počtu procesů párování

[chráněno e-mailem]: ~ $ Pgrep -c -u jim

-l se používá pro výpis procesů a jejich název

[chráněno e-mailem]: ~ $ Pgrep -u jim -l
pkill

Pomocí příkazu pkill můžete odeslat signál spuštěnému procesu na základě určitých kritérií. Můžete použít celé jméno nebo zkratku procesu k vyhledání nebo podle uživatelského jména nebo jiných atributů. Příkaz pgrep se řídí následujícím vzorem.

[chráněno e-mailem]: ~ $ Pkill [Možnosti] [Vzory]
[chráněno e-mailem]: ~ $ Pkill -9 chrom
Možnosti příkazu pkill

-signál se používá pro odesílání signálu e.G. SIGKILL, SIGTERM atd.

[chráněno e-mailem]: ~ $ Pkill - signál SIGTERM vscode

-HUP slouží k opětovnému načtení procesu

[chráněno e-mailem]: ~ $ Pkill -HUP syslogd

-F se používá pro zabíjení procesů založených na úplném příkazovém řádku.

[chráněno e-mailem]: ~ $ Pkill -f „ping 7.7.7.7 ”

-u se používá k zabíjení všech procesů vlastněných uživatelem.

[chráněno e-mailem]: ~ $ Pkill -u jim

-i se používá pro malá a velká písmena zabití procesu pkill.

[chráněno e-mailem]: ~ $ Pkill -i firefox

-9 slouží k odeslání signálu zabití.

[chráněno e-mailem]: ~ $ Pkill -9 chrom

-15 se používá pro odesílání ukončovacího signálu.

[chráněno e-mailem]: ~ $ Pkill -15 vlc
lsof (Seznam otevřených souborů)

Tento nástroj příkazového řádku se používá pro výpis souborů otevřených několika procesy. A jak víme, všechny systémy UNIX / Linux rozpoznávají vše jako soubor, takže je vhodné použít seznam všech otevřených souborů pomocí příkazu lsof.

[chráněno e-mailem]: ~ $ lsof

Ve výše uvedené tabulce příkazu lsof představuje FD popis souboru, cwd představuje aktuální pracovní adresář, txt znamená textový soubor, mem znamená soubory mapované do paměti, mmap znamená paměti mapované zařízení, REG představuje běžný soubor, DIR představuje adresář, rtd znamená kořenový adresář. Existují další možnosti, které můžete použít s příkazem lsof.

Možnosti příkazu lsof.

-C se používá pro výpis otevřených souborů podle jejich názvu procesu.

[chráněno e-mailem]: ~ $ lsof -c chrom

-u se používá pro výpis otevřených souborů uživatelem.

[chráněno e-mailem]: ~ $ lsof -u jim

-i se používá pro výpis procesů prováděných na portu.

[chráněno e-mailem]: ~ $ lsof -i

+D se používá pro výpis otevřených souborů v adresáři.

[chráněno e-mailem]: ~ $ lsof + D / home /

-p se používá pro výpis otevřených souborů procesem.

[chráněno e-mailem]: ~ $ lsof -p 1342

Výpis a správa procesu pomocí nejvyššího příkazu

Pomocí horního příkazu můžete zobrazit zobrazení spuštěných systémových procesů v reálném čase. Zobrazuje procesy v závislosti na využití procesoru. Sloupec můžete třídit podle sebe. Horní příkaz také poskytuje některé informace o vašem systému, například jak dlouho je systém spuštěn nebo kolik uživatelů je připojeno k systému a kolik běží procesů, kolik CPU a RAM se používá a seznam všech proces.

Zadejte horní část seznamu a seznam spuštěných procesů.

[chráněno e-mailem]: ~ $ top
Úkoly: celkem 291, 1 běžící, 290 spící, 0 zastavený, 0 zombie
% Procesorů: 2.3us, 0.3sy, 0.0ni, 97.0id, 0.3wa, 0.0hi, 0.0si, 0.0st
MiB Mem: 7880.6 celkem, 1259.9 zdarma, 3176 použitých, 3444.4 buff / cache
MiB Swap: 2048.0 celkem, 2048.0 zdarma, 0.0 použito. 4091.8 využít Mem
PID UŽIVATEL PR NI VIRT RES SHR S% CPU% MEM ČAS + PŘÍKAZ
3241 jim 20 0 20.7 g 33512 10082 S 1.7 4.2 0:54.24 chrom
3327 jim 20 0 4698084 249156 86456 S 1.3 3.1 1:42.64 chrom
2920 jim 20 0 955400 410868 14372 S 1.0 5.1 7:51.04 chrom
3423 jim 20 0 4721584 198500 10106 S 1.0 2.5 0:49.00 chrom
3030 jim 20 0 458740 114044 66248 S 0.7 1.4 3:00.47 chrom
3937 jim 20 0 4610540 104908 72292 S 0.7 1.3 0:05.91 chrom
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íků+
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 chrom
3388 jim 20 0 4674192 156208 85032 S 0.3 1.9 0:13.91 chrom
3409 jim 20 0 4642180 140020 87304 S 0.3 1.7 0:15.36 chrom
3441 jim 20 0 16.5 g 156396 89700 S 0.3 1.9 0:25.70 chrom
… .stříhat… .

Pomocí horního příkazu můžete také provést některé akce a provést změny v běžících procesech; Zde je seznam níže.

Všimněte si, který proces spotřebovává více paměti nebo CPU. Procesy, které spotřebovávají více paměti, mohou být zabity a procesy, které spotřebovávají více CPU, mohou být obnoveny, aby jim dal menší význam pro procesor.

Zabijte postup nahoře: lis k a napište ID procesu, který chcete zabít. Potom zadejte 15 nebo 9, abyste zabili normálně nebo okamžitě; proces můžete také zabít příkazem kill nebo killall.

Renice proces v horní části: lis r a napište PID procesu, který chcete opravit. Požádá vás, abyste zadali PID procesu a poté hodnotu mazání, které chcete dát tomuto procesu mezi -19 až 20 (-19 znamená nejvyšší důležitost a 20 znamená nejnižší důležitost).

Výpis a správa procesů pomocí nástroje Sledování systému

Linux má systémový monitor gnome, který dynamičtěji zobrazuje běžící procesy. Chcete-li spustit monitor systému, stiskněte klávesu Windows a zadejte monitor systému, klikněte na jeho ikonu a uvidíte procesy ve sloupcích. Kliknutím pravým tlačítkem na ně můžete proces zabít, zastavit nebo obnovit.

Spuštěné procesy se zobrazují u uživatelských účtů v abecedním pořadí. Procesy můžete seřadit podle jakýchkoli záhlaví polí, jako je CPU, paměť atd., stačí na ně kliknout a budou seřazeny; například kliknutím na CPU zjistíte, který proces spotřebovává nejvíce energie CPU. Chcete-li spravovat procesy, klepněte na ně pravým tlačítkem a vyberte možnost, kterou chcete s procesem provést. Chcete-li proces spravovat, vyberte následující možnosti.

Zabíjení procesu pomocí kill a killall

kill a příkaz killall se používá pro zabití / ukončení běžícího procesu. Tyto příkazy lze také použít k odeslání platného signálu běžícímu procesu, například k tomu, aby řekl procesu, aby pokračoval, ukončil nebo znovu načetl konfigurační soubory atd. Signály lze psát oběma způsoby čísly nebo jménem. Následuje několik běžně používaných signálů.

Popis čísla signálu

SIGHUP 1 Detekuje zavěšený signál na řídicím terminálu.
SIGINT 2 Interpretováno z klávesnice.
SIGQUIT 3 Ukončete z klávesnice.
SIGILL 4 Nezákonné pokyny.
SIGTRAP 5 Používá se k vysledování pásu.
SIGABRT 6 se používá k přerušení signálu z přerušení (3).
SIGKILL 9 Slouží k odeslání signálu zabití.
SIGTERM 15 Slouží k odesílání ukončovacího signálu.
SIGCONT 19,18,25 Slouží k pokračování procesu, pokud je zastaven.
SIGSTOP 17,19,23 Používá se k zastavení procesů.

V různých operačních systémech Unix / Linux se používají různé hodnoty SIGCONT a SIGSTOP. Podrobné informace o signálech typu man 7 signální terminál.

Použití příkazu kill pro odeslání signálu ke zpracování pomocí PID.

Všimněte si procesu, kterému chcete poslat signál zabití. ID procesu (PID) najdete pomocí příkazu ps nebo top.

PID UŽIVATEL PR NI VIRT RES SHR S% CPU% MEM ČAS + PŘÍKAZ
7780 jim 20 0 12596 4364 3460 R 33.3 3.2 13:54:12 nahoře

Horní proces spotřebovává 33.3% CPU. Pokud chcete tento proces zabít, abyste ušetřili využití procesoru, je zde několik způsobů, jak tento proces ukončit příkazem kill.

[chráněno e-mailem]: ~ $ kill 7780
[chráněno e-mailem]: ~ $ kill -15 7780 nebo $ kill -SIGTERM 7780
[chráněno e-mailem]: ~ $ kill -9 7780 nebo $ kill -SIGKILL 7780

Použití příkazu killall k odesílání signálů procesu podle jména.

Pomocí příkazu killall nemusíte hledat ID procesu; můžete poslat signál zabití procesu spíše podle názvu než podle ID procesu. Může také zabít více procesů, než chcete, pokud nejste opatrní, např.G., „Killall chrome“ zabije všechny chromované procesy, včetně těch, které nechcete zabít. Někdy je užitečné zabít procesy se stejným názvem.

Stejně jako příkaz zabít můžete do příkazu killall zadat signály podle jména nebo čísla. Zabijte jakýkoli spuštěný proces pomocí příkazu killall; stačí zadat jeho název a signál, který chcete odeslat. E.G., pošlete firefox proces zpracování firefoxu pomocí příkazu killall, napište níže uvedený příkaz.

[chráněno e-mailem]: ~ $ killall -9 firefox

nebo

[chráněno e-mailem]: ~ $ killall SIGKILL chrom

Změna priority procesu s pěkným a renice

Každý proces ve vašem systému Linux má vynikající hodnotu a pohybuje se mezi -19 až 20. Rozhodlo, který proces získá větší přístup k CPU v systému. Čím nižší je hodnota hezkého, tím více má proces přístup k procesu CPU. Stejně jako -16 pěkných hodnot má větší přístup k CPU než 18 pěkných hodnot. Pouze uživatel s oprávněním root může přiřadit zápornou hodnotu nice. Normální uživatel může přiřadit hodnotu „pěkného“ pouze mezi 0 a 19. Běžný uživatel může přiřadit pouze vyšší pěkné hodnoty a na vlastní procesy. Uživatel root může nastavit jakoukoli příjemnou hodnotu pro libovolný proces.

Pokud chcete přidělit příjemnou hodnotu, aby byl proces přístupnější využití CPU, zadejte následující příkaz.

[chráněno e-mailem]: ~ $ pěkný +3 chrom

A celý proces proceďte

[chráněno e-mailem]: ~ $ renice -n -6 3612

Závěr

Zde je průvodce správou vašeho systému Linux pomocí ps, top, lsof, pstree, pkilll, kill, killall, nice, renice atd. Některé procesy spotřebovávají většinu využití procesoru a RAM; vědět, jak je spravovat, zvyšuje rychlost a výkon vašeho systému a poskytuje vám lepší prostředí pro efektivnější provozování všech procesů, které chcete.

V systému Windows 10 nefunguje levé tlačítko myši
Pokud používáte speciální myš s notebookem nebo stolním počítačem, ale levé tlačítko myši nefunguje ve Windows 10/8/7 z nějakého důvodu uvádíme několi...
Kurzor při psaní v systému Windows 10 skáče nebo se pohybuje náhodně
Pokud zjistíte, že kurzor myši skáče nebo se pohybuje sám, automaticky, náhodně při psaní v notebooku nebo počítači se systémem Windows, pak vám někte...
Jak obrátit směr posouvání myši a touchpadu ve Windows 10
Myš a Touchpadnejenže usnadňují výpočet, ale jsou efektivnější a méně časově náročné. Nemůžeme si představit život bez těchto zařízení, ale přesto je ...