50% sleva všechny plány, omezený čas. Začátek v $2.48/mo
Zbývá 10 min
Servery a OS

Mastering Process Management – ​​Linux ps aux Command

Ada Lovegoodová By Ada Lovegoodová 10 min čtení Aktualizováno 11. července 2024
linux ps aux příkaz

Máte ve svém prohlížeči otevřených alespoň pět dalších karet a snažíte se najít odpověď na problém s Linuxem, na který jste narazili?
Toto chování není specifické pro vás ani pro lidi obecně. Stroje také víceúčelové. A stejně jako vy, i Linux je multitasker a má několik procesů probíhajících současně. Ať už jste vývojář používající Linux profesionálně, nebo normální uživatel pracující s Linuxem pro své každodenní činnosti, měli byste být schopni porozumět těmto paralelním procesům, abyste si udrželi plnou kontrolu nad svým systémem. Řízení procesů a kontrola systému jsou základními aspekty provozu systému Linux.

Chcete-li efektivně spravovat procesy běžící v systému, vidět, co se děje v reálném čase, mít obecnou představu o všech procesech na pozadí a řídit systémové prostředky, potřebujete technické znalosti procesního managementu. Příkaz ps aux je mocný příkaz, který hraje zásadní roli při řízení procesů a řízení systému. V tomto příspěvku se dozvíme více o příkazu ps aux a jeho případech použití. Pokryjeme také základy fungování procesů Linuxu.

Pochopení správy procesů v Linuxu

Při práci s Linuxem probíhá většina našich interakcí se systémem ve formě příkazů. V Linuxu je proces provedení příkazu. Správa procesů Linuxu zahrnuje manipulaci s procesy, které příkaz spustil. Můžete ukončit proces, spustit proces nebo obnovit procesy, které byly ukončeny. Můžete také manipulovat s probíhajícími příkazy.

Existují dva typy procesů Linuxu:

  • Procesy v popředí
  • Procesy na pozadí

Procesy na popředí Linuxu

Proces na popředí je proces, který se aktivně provádí a obvykle vyžaduje neustálou interakci s uživatelem v reálném čase. Když je v akci proces na popředí, provádění ostatních procesů je pozastaveno. Nemůžete tedy spouštět žádné další příkazy. Proces na popředí přijímá vstup z klávesnice jako standardní vstup nebo standardní vstup. Aby se předešlo dalším nejasnostem, stdin a stdout jsou datové toky Linuxu spolu se stderr. Jde v podstatě o to, jak uživatel komunikuje s procesem a poskytuje mu data. Existuje standardní výstup nebo stdout, který je produkován procesem na základě jeho funkčnosti a vstupu. Procesy na popředí jsou výchozím způsobem provádění v Linuxu.

Procesy na pozadí Linuxu

Procesy na pozadí jsou přesným opakem procesů na popředí, protože nevyžadují interakci uživatele a nezabírají výhradně celý prostor terminálu, což umožňuje provádění jiných procesů. Typ vstupu a výstupu procesů na pozadí je také odlišný. Obvykle neberou stdin. Výsledky procesu však mohou být zobrazeny jako stdout. Zobrazení výstupu procesů na pozadí probíhá souběžně s výstupem jiných procesů na popředí. Můžete tak vidět průběh nebo výsledky procesu na pozadí, aniž byste přerušili další důležité akce.

Vzhledem k tomu, že provádění široké škály úloh v Linuxu závisí na příkazovém řádku, mohou být procesy v popředí problematické, zatímco spouštění procesů na pozadí osvobozuje váš terminál od práce na jiných úlohách. Umístění úkolu v popředí na pozadí je tedy rozumné. Aby se odeslat proces na pozadí nejprve byste měli zastavit jeho provádění v popředí. To se provádí jednoduše stisknutím CTRL+Z. Poté zadáním příkazu bg se ukončený proces znovu spustí na pozadí. Příkaz fg proces obrátí a přenese ho do popředí.

Stav procesu; Syntaxe, příkazy a interpretace výstupu

Efektivní správa procesů v Linuxu vyžaduje pochopení stavu procesů, které lze monitorovat příkazem ps aux. Než se však ponoříme hlouběji do příkazu ps aux, pojďme se dozvědět o různých stavech procesu. Přestože existuje několik typů procesů a stavů procesů, zde je tabulka těch nejběžnějších:

Stav procesu popis
Běh(R) Proces aktuálně běží a zabírá prostředky CPU.
Spací Přerušitelné (S) Proces čeká, až se znovu spustí konkrétní vstup nebo událost. Momentálně nevyužívá prostředky CPU. Když jsou dostupné zdroje nebo jsou dány signály, proces začíná znovu.
Nepřerušitelný (D) Stejně jako proces, který je v přerušitelném spánku, ani proces nepřerušitelného spánku nevyužívá prostředky CPU. Jediný rozdíl je v tom, že nereaguje na signály, ožívá, až když jsou dostupné zdroje.
Zastaveno (T) Vstup uživatele nebo konkrétní událost pozastavila proces. Proces v zastaveném stavu nevyužívá žádné prostředky CPU.
Mrtvý(X) Proces byl ukončen a již neexistuje.

Dobré porozumění těmto stavům procesů je zásadním aspektem efektivní správy a odstraňování problémů se systémy Linux. Nyní se podívejme na syntaxi a příkazy pro získání stavu procesu v Linuxu a také na to, jak interpretovat výstup.

Syntaxe a příkazy pro získání stavu procesu

Stav procesu v Linuxu můžete získat pomocí základní syntaxe pro příkaz ps:

ps [process name]

Existují také další možnosti používané s příkazem ps:

pomocný: Tato možnost zobrazuje úplný seznam všech procesů spuštěných v systému. Poskytuje informace, jako jsou ID procesů (PID), ID nadřazených procesů (PPID), využití CPU a paměti a stavy procesů. Výstup poskytovaný příkazem ps aux je mnohem přehlednější, je čitelnější a obsahuje mnohem užitečnější informace než základní příkaz ps.

ef: Tato možnost zobrazuje seznam procesů v plném formátu s dalšími podrobnostmi, včetně hierarchie procesů jako stromové struktury.

l: Tato možnost poskytuje dlouhý formát výpisu, který představuje podrobnější informace o procesech.

Pochopení výstupu

Když spustíte příkaz ps s požadovanými volbami, vygeneruje výstup, který představuje procesy aktuálně spuštěné ve vašem systému. Výstup se skládá ze sloupců, které zobrazují různé atributy procesu, včetně ID procesu (PID), ID nadřazeného procesu (PPID), využití CPU, využití paměti, stav procesu, typ terminálu a název příkazu.

Zde je vysvětlení toho, co každý z těchto sloupců znamená:

PID: Tento sloupec zobrazuje jedinečné ID procesu.

TTY: Tento sloupec zobrazuje typ terminálu, ke kterému je uživatel přihlášen.

ČAS: Tento sloupec je indikátorem toho, kolik CPU je spotřebováno tímto procesem v minutách a sekundách.

CMD: Tento sloupec představuje název příkazu, který spustil tento proces.

Analýza informací poskytovaných příkazem ps vám poskytne hlubší pohled na chování vašeho počítače se systémem Linux.

Pokročilé techniky ps pro správu procesů S příkazem ps

Pojďme prozkoumat některé pokročilé funkce příkazu ps a jak je lze efektivně využít:

1. Třídění procesů

Příkaz ps aux lze použít k seřazení konečného výstupu na základě různých sloupců. Můžete například seřadit procesy podle ID procesu nebo využití CPU, abyste je viděli v požadovaném pořadí.

Zde je příklad třídění procesů na základě ID procesu pomocí ps aux:

ps aux –-sort pid

Příkaz head se používá pouze k získání prvních pěti řádků výstupu.

ps aux sort pid

2. Vizualizace stromu procesů

Pokud chcete jasně vidět vztah mezi rodiči a podřízenými procesy, můžete použít příkaz ps s volbou doménové struktury.

ps -aux --forest

vztah rodič-dítě linuxových procesů

Chcete-li vidět vztah mezi procesy ve stromovém vzoru, můžete také použít příkaz pstree. Tento příkaz vytvoří výstup, který je srozumitelnější a dokonale ilustruje hierarchii mezi procesy. Chcete-li použít tento příkaz, zadejte následující příkaz:

pstree [pid or username]

Zadáním PID tomuto příkazu říkáte příkazu, aby považoval tento proces za kořen stromu.

3. Filtrační procesy

Představte si, že chcete pracovat se specifickou skupinou procesů; chcete například vypsat všechny procesy jednoho z uživatelů. Procesy filtrování na základě charakteristiky lze provádět pomocí příkazu ps. V tomto příkladu jsme filtrovali procesy na základě uživatelského jména.

ps -u [username]

filtrování linuxových procesů pomocí příkazu ps

A příkaz ps aux grep může filtrovat procesy na základě jakéhokoli vzoru nebo klíčového slova, které příkazu zadáte. Podívejte se na níže uvedený kód jako příklad:

Příklad příkazu ps aux grep

Tento příkaz nejprve vypíše všechny procesy a předá výstup příkazu grep k filtrování tohoto dlouhého seznamu na základě ID procesu. Na obrázku výše můžete vidět seznam všech procesů, které mají ve svých informacích číslo 15.

Další informace o příkazu ps a jeho možnostech naleznete na stránce manuálu tohoto příkazu. Níže uvedený kód vám zobrazí manuálovou stránku:

man ps

Správa priority úkolů v Linuxu

Abychom lépe vysvětlili, jak vlastně řízení procesů v Linuxu funguje, měli bychom se také zabývat prioritou procesů a jak ji změnit. Představte si situaci, ve které běží několik procesů a CPU je přetíženo úkoly. Chcete-li spravovat své prostředky, aby v této situaci fungovaly správně, musíte změnit prioritu běžících úloh. Každý proces v Linuxu má hodnotu priority. Tato hodnota pomáhá jádru upřednostňovat úkoly. Číslo priority se pohybuje od -20 do 19, přičemž 19 je nejméně důležitý úkol a -20 je nejnaléhavější. Proces s nejvyšší prioritou získává více času CPU ve srovnání s jinými procesy. Hodnoty priority jsou často označovány jako „hezké“ hodnoty, přičemž nižší hodnoty nice znamenají vyšší prioritu.

K efektivnímu přidělování systémových prostředků můžete použít příkazy nice a renice.

Před změnou priority procesů se však podívejme na první případ použití příkazu ps.

  • Zobrazení aktuální priority všech procesů pomocí příkazu ps:

Tento příkaz uvádí všechny procesy spolu s jejich ID procesů (PID), názvy příkazů a aktuální prioritou (hodnota nice):

 

ps -eo pid,cmd,nice

Získání priority všech procesů pomocí příkazu ps

  • Spuštění procesu s výchozí vysokou prioritou pomocí příkazu nice:

Pomocí tohoto příkazu můžete spustit proces s preferovanou prioritou:

nice -n [priority] [command]

Nahraďte [priority] požadovanou zápornou hodnotou představující úroveň priority a [příkaz] příkazem, který chcete provést.

Zde je příklad:

spuštění procesu s výchozí vysokou prioritou

  • Změna priority již spuštěného příkazu:
renice -n [priority] -p [PID]

Nahraďte ID procesu, se kterým chcete manipulovat, za [PID].

Pokud chcete mít výkonný linuxový stroj pro provádění nejrůznějších úkolů, a Linux VPS je pro vás tím nejlepším řešením. Cloudzy nabízí různé plány Linux VPS s předinstalovaným preferovaným distro. Díky mnoha výhodným vlastnostem, jako je nepřetržitá podpora, 30denní politika vrácení peněz a záruka 99,95% dostupnosti, se Cloudzy podařilo udržet nízké ceny. Naše ceny za Linux VPS začínají na pouhých 4,95 $ měsíčně.

Linux VPS hosting

Získejte ekonomický nebo prémiový Linux VPS pro hostování vašeho webu nebo vzdálené plochy za nejnižší cenu. VPS běžící na Linux KVM pro vyšší efektivitu a práci na výkonném hardwaru s úložištěm NVMe SSD pro vyšší rychlost.

Přečtěte si více

Závěr

Závěrem lze říci, že zvládnutí správy procesů a řízení systému je nutností pro systémové administrátory, linuxové nadšence, kteří se chtějí dozvědět více, a běžné uživatele Linuxu. Seznámení s možnostmi a funkcemi příkazu ps vám může usnadnit cestu k řízení procesů učení. To je důvod, proč tento článek pojednává o důležitých případech použití příkazu ps a také poskytuje čtenářům úvod do procesů Linuxu.

FAQ

Co je příkaz ps aux v Linuxu?

Příkaz ps aux Linux je běžně používaný příkaz v Linuxu pro získávání informací o běžících procesech. Může poskytnout úplný seznam procesů v uživatelsky přívětivém formátu, včetně jejich ID procesů (PID), využití CPU a paměti, stavů provádění a dalších důležitých podrobností.

Jaké jsou dva typy procesů v Linuxu?

Procesy na popředí a procesy na pozadí. Procesy na popředí zabírají terminál během běhu a neumožňují další provádění. Procesy na pozadí běží na pozadí a nezabírají celý terminál.

Jak mohu zobrazit seznam procesů běžících na mém systému Linux?

Seznam procesů běžících na vašem systému Linux lze získat pomocí příkazů jako ps, top nebo htop. Například příkaz Linux ps aux poskytuje podrobné informace o všech běžících procesech.

Podíl

Více z blogu

Pokračujte ve čtení.

Nejlepší aplikace s vlastním hostováním, které můžete spouštět s Cosmos Cloudem na úvodním obrázku s panely aplikací kolem řídicího panelu Cosmos.
Servery a OS

Nejlepší samoobslužné aplikace, které můžete provozovat s Cosmos Cloud: Soubory, média, hesla, automatizace a další!

Možná jste si nastavili Cosmos Cloud a nyní chcete vidět, jaké aplikace s ním dobře ladí, nebo jste se možná ještě ani nerozhodli pro Cosmos a chcete jen zjistit, jak dobře se hodí k vaší práci

Nick SilverNick Silver 16 minut čtení
Kryt Porttainer vs Cosmos Cloud pro správu Docker Apps s hybridním schématem nastavení a neonovými operacemi vs přístupovými bloky.
Servery a OS

Portainer vs Cosmos Cloud: Nejlepší řešení pro správu aplikací Docker

Pokud již znáte Docker a chcete pouze čistší způsob, jak provozovat rostoucí zásobník aplikací, zde je krátká odpověď na Porttainer vs Cosmos Cloud. Porttainer je silnější volbou pro direc

Nick SilverNick Silver 14 minut čtení
Hlavní grafika Cosmos Cloud vs CasaOS vs Umbrel ukazuje tři samostatně hostované cesty uvnitř jednoho abstraktního světa cloudové sítě.
Servery a OS

Cosmos Cloud vs CasaOS vs Umbrel: Která platforma s vlastním hostitelem vyhovuje vašemu nastavení?

Krátká odpověď zní, že CasaOS je stále tím nejjednodušším místem, kde začít, Umbrel má nejčistší kurátorský pocit a Cosmos Cloud dává větší smysl, jakmile budete chtít přísnější kontrolu nad doménou

Nick SilverNick Silver 11 minut čtení

Jste připraveni k nasazení? Od 2,48 $ měsíčně.

Nezávislý cloud, od roku 2008. AMD EPYC, NVMe, 40 Gbps. 14denní vrácení peněz.