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í
- Popředí procesy
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% 1sudo apt-get upgrade -y
A pokud chcete tento proces přenést na pozadí, zadejte tento příkaz.
[chráněno e-mailem]: ~ $ bg% 1Vý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 uUŽ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, komunikacePID 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 uMožnost f se používá k zobrazení celého seznamu.
[chráněno e-mailem]: ~ $ ps fMožnost x se používá k zobrazení informací o procesu bez terminálu.
[chráněno e-mailem]: ~ $ ps xMožnost e se používá k zobrazení rozšířených informací.
[chráněno e-mailem]: ~ $ ps emožnost se používá pro výpis všech procesů s terminálem.
[chráněno e-mailem]: ~ $ ps aMožnost v se používá k zobrazení formátu virtuální paměti.
[chráněno e-mailem]: ~ $ ps vPří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 -opstree
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 -lpkill
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 vlclsof (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 1342Vý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.
- u stisknutím „u“ můžete zobrazit proces spuštěný určitým uživatelem.
- M stisknutím „M“ můžete zajistit využití RAM a ne CPU.
- P stisknutím „P“ můžete třídit podle využití CPU.
- 1 stisknutím „1“ přepínáte mezi využitím CPU, pokud je jich více než jeden.
- R stisknutím „R“ můžete svůj výstup seřadit obráceně.
- h stisknutím „h“ můžete přejít na pomoc a stisknutím libovolné klávesy se vrátit.
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.
- Vlastnosti- zobrazit další nastavení související s procesem.
- Paměťové mapy- zobrazit mapy systémové paměti a ukázat, která knihovna a další komponenty se v procesu používají v paměti.
- Otevřít soubor- ukazuje, které soubory jsou procesem otevřeny.
- Změnit prioritu- zobrazte postranní panel, ze kterého můžete proces zrecerovat pomocí možností od velmi vysoké po velmi nízkou a vlastní.
- Stop- pozastaví proces, dokud nevyberete pokračování.
- Pokračovat- restartuje pozastavený proces.
- Zabít- Síla zabije proces okamžitě.
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ŘÍKAZ7780 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 firefoxnebo
[chráněno e-mailem]: ~ $ killall SIGKILL chromZmě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 chromA celý proces proceďte
[chráněno e-mailem]: ~ $ renice -n -6 3612Zá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.