50% kedvezmény minden terv, korlátozott idő. Kezdés: $2.48/mo
10 perc van hátra
Szerverek és operációs rendszer

A folyamatkezelés elsajátítása – Linux ps aux Command

Ada Lovegood By Ada Lovegood 10 perc olvasás Frissítve 2024. július 11-én
linux ps aux parancs

Legalább öt másik lap van nyitva a böngészőjében, és megpróbálja megtalálni a választ egy Linux-problémára, amelybe belefutott?
Ez a viselkedés nem jellemző rád vagy általában az emberekre. A gépek is többfeladatosak. És csakúgy, mint te, a Linux is többfeladatos, és több folyamat is zajlik egyszerre. Függetlenül attól, hogy Ön egy Linuxot professzionálisan használó fejlesztő, vagy egy normál felhasználó, aki a mindennapi tevékenységei során Linuxot használ, képesnek kell lennie arra, hogy megértse ezeket a párhuzamos folyamatokat, hogy teljes ellenőrzést tarthasson a rendszere felett. A folyamatkezelés és a rendszervezérlés a Linux rendszer futtatásának alapvető elemei.

A rendszeren futó folyamatok hatékony menedzseléséhez, a valós időben történő események megtekintéséhez, az összes háttérfolyamat általános képéhez és a rendszer erőforrásainak vezérléséhez a folyamatmenedzsment technikai ismereteire van szükség. A ps aux parancs egy erőteljes parancs, amely létfontosságú szerepet játszik a folyamatkezelésben és a rendszervezérlésben. Ebben a bejegyzésben többet megtudunk a ps aux parancsról és használati eseteiről. Kitérünk a Linux-folyamatok működésének alapjaira is.

A folyamatkezelés megértése Linuxban

Amikor Linuxszal dolgozunk, a legtöbb interakciónk a rendszerrel parancsok formájában történik. A Linuxban a folyamat egy parancs végrehajtása. A Linux folyamatkezelése magában foglalja a parancs által elindított folyamatok manipulálását. Leállíthat egy folyamatot, elindíthat egy folyamatot, vagy folytathatja a leállított folyamatokat. A folyamatban lévő parancsokat is módosíthatja.

Kétféle Linux-folyamat létezik:

  • Előtérbeli folyamatok
  • Háttérfolyamatok

Linux előtérbeli folyamatok

Az előtérben lévő folyamat olyan folyamat, amelyet aktívan hajtanak végre, és jellemzően állandó és valós idejű interakciót igényel a felhasználóval. Amikor egy előtérben lévő folyamat működik, a többi folyamat végrehajtása szünetel. Tehát nem futtathat más parancsokat. Az előtérben lévő folyamatok szabványos bemenetként vagy stdinként kapják a bemenetet a billentyűzetről. A további félreértések elkerülése érdekében az stdin és az stdout Linux-adatfolyamok az stderr mellett. Alapvetően az, hogy a felhasználó hogyan lép interakcióba a folyamattal, és hogyan szolgáltat hozzá adatokat. Létezik szabványos kimenet vagy stdout, amelyet a folyamat a funkcionalitása és a bemenete alapján állít elő. Az előtérben lévő folyamatok a Linux alapértelmezett végrehajtási módjai.

Linux háttérfolyamatok

A háttérfolyamatok szöges ellentétei az előtérbeli folyamatoknak, mivel nem igényelnek felhasználói beavatkozást, és nem kizárólagosan foglalják el a terminál teljes területét, lehetővé téve más folyamatok végrehajtását. A háttérfolyamatok bemeneti és kimeneti típusa is eltérő. Általában nem szednek stdint. A folyamat eredményei azonban stdout-ként is megjeleníthetők. A háttérfolyamatok kimenetének megjelenítése más előtérbeli folyamatok kimenetével párhuzamosan történik. Így láthatja a háttérfolyamat előrehaladását vagy eredményeit anélkül, hogy más fontos műveleteket megszakítana.

Mivel Linuxon a feladatok széles körének végrehajtása a parancssortól függ, az előtérben futó folyamatok problémát okozhatnak, míg a háttérben futó folyamatok megszabadítják a terminált az egyéb feladatoktól. Tehát itt ésszerű dolog egy előtérbeli feladat háttérbe helyezése. Annak érdekében, hogy folyamatot küld a háttérbe először meg kell akadályoznia, hogy az előtérben végrehajtsák. Ez egyszerűen megtehető a CTRL+Z billentyűkombinációval. Ezután a bg parancs beírásával a befejezett folyamat újraindul a háttérben. Az fg parancs megfordítja a folyamatot, és előtérbe hozza.

Folyamat állapota; Szintaxis, parancsok és a kimenet értelmezése

A hatékony folyamatkezeléshez Linuxban meg kell érteni a ps aux paranccsal felügyelhető folyamatok állapotát. Mielőtt azonban mélyebben belemerülnénk a ps aux parancsba, ismerkedjünk meg a különböző folyamatállapotokkal. Bár többféle folyamat és folyamatállapot létezik, itt van egy táblázat a leggyakoribbakról:

Folyamat állapota leírás
Futás (R) A folyamat jelenleg fut, és felveszi a CPU erőforrásait.
Alvás Megszakítható (S) A folyamat arra vár, hogy egy adott bemenet vagy esemény újra elinduljon. Jelenleg nem használ CPU-erőforrásokat. Amikor az erőforrások rendelkezésre állnak, vagy jelzéseket kapnak, a folyamat újraindul.
Szünetmentes (D) Csakúgy, mint a megszakítható alvó folyamatok, a megszakítás nélküli alvó folyamatok sem használnak CPU-erőforrásokat. Az egyetlen különbség az, hogy nem reagál a jelzésekre, csak akkor kel életre, ha rendelkezésre állnak az erőforrások.
Megállt (T) Egy felhasználói bevitel vagy egy adott esemény szüneteltette a folyamatot. A leállított állapotban lévő folyamat nem használ CPU erőforrásokat.
Halott (X) A folyamatot leállították, és már nem létezik.

A folyamatállapotok megfelelő ismerete elengedhetetlen a Linux rendszerek hatékony kezeléséhez és hibaelhárításához. Most nézzük meg a szintaxist és a parancsokat a folyamatállapot megszerzéséhez Linuxban, valamint a kimenet értelmezését.

Szintaxis és parancsok a folyamatállapot megszerzéséhez

A folyamat állapotát Linuxban a ps parancs alapvető szintaxisával kaphatja meg:

ps [process name]

Más opciók is használhatók a ps paranccsal:

aux: Ez az opció a rendszeren futó összes folyamat átfogó listáját jeleníti meg. Olyan információkat nyújt, mint a folyamatazonosítók (PID), a szülő folyamatazonosítók (PPID), a CPU- és memóriahasználat, valamint a folyamatállapotok. A ps aux parancs által biztosított kimenet sokkal rendezettebb, jobban olvasható, és sokkal több hasznos információt tartalmaz, mint az alap ps parancs.

ef: Ez az opció a folyamatok teljes formátumú listáját jeleníti meg extra részletekkel, beleértve a folyamathierarchiát, mint faszerű struktúrát.

l: Ez az opció egy hosszú listázási formátumot biztosít, amely részletesebb információkat tartalmaz a folyamatokról.

A kimenet megértése

Amikor a ps parancsot a kívánt beállításokkal végrehajtja, az egy kimenetet generál, amely a rendszeren jelenleg futó folyamatokat reprezentálja. A kimenet oszlopokból áll, amelyek különböző folyamatattribútumokat mutatnak, beleértve a folyamatazonosítót (PID), a szülő folyamatazonosítót (PPID), a CPU-használatot, a memóriahasználatot, a folyamat állapotát, a terminál típusát és a parancs nevét.

Íme annak magyarázata, hogy mit jelentenek ezek az oszlopok:

PID: Ez az oszlop a folyamat egyedi azonosítóját mutatja.

TTY: Ez az oszlop mutatja a terminál típusát, amelybe a felhasználó bejelentkezett.

IDŐ: Ez az oszlop azt mutatja, hogy mennyi CPU-t használ fel a folyamat percekben és másodpercekben.

CMD: Ez az oszlop a folyamatot elindító parancs nevét jelenti.

A ps parancs által szolgáltatott információk elemzése mélyebb betekintést nyújt a Linux-gép viselkedésébe.

Fejlett ps-technikák a folyamatkezeléshez a ps paranccsal

Fedezzük fel a ps parancs néhány speciális funkcióját, és azt, hogyan használhatók hatékonyan:

1. Folyamat rendezés

A ps aux paranccsal a végső kimenet különböző oszlopok alapján rendezhető. Például sorba rendezheti a folyamatokat folyamatazonosító vagy CPU-használat szerint, hogy a kívánt sorrendben jelenjenek meg.

Íme egy példa a folyamatok rendezésére a folyamatazonosító alapján a ps aux használatával:

ps aux –-sort pid

A head parancs csak a kimenet első öt sorának lekérésére szolgál.

ps aux sort pid

2. Folyamatfa vizualizáció

Ha tisztán szeretné látni a folyamatok szülő-gyermek kapcsolatát, használhatja a ps parancsot a forest opcióval.

ps -aux --forest

Linux-folyamatok szülő-gyermek kapcsolata

A folyamatok közötti kapcsolat faszerű mintázatának megtekintéséhez használhatja a pstree parancsot is. Ez a parancs egy érthetőbb kimenetet hoz létre, és tökéletesen illusztrálja a folyamatok közötti hierarchiát. A parancs használatához írja be a következő parancsot:

pstree [pid or username]

Ha ennek a parancsnak PID-t ad, akkor azt mondja a parancsnak, hogy ezt a folyamatot tekintse a fa gyökerének.

3. Szűrési folyamatok

Képzelje el, hogy a folyamatok egy meghatározott csoportjával szeretne dolgozni; például az egyik felhasználó összes folyamatát szeretné felsorolni. A karakterisztikán alapuló szűrési folyamatok a ps paranccsal végezhetők el. Ebben a példában felhasználónév alapján szűrtük a folyamatokat.

ps -u [username]

Linux folyamatok szűrése a ps paranccsal

A ps aux grep parancs pedig bármilyen minta vagy kulcsszó alapján szűrheti a folyamatokat, amelyeket a parancsnak megad. Példaként tekintse meg az alábbi kódot:

ps aux grep parancs példa

Ez a parancs először felsorolja az összes folyamatot, és a kimenetet átadja a grep parancsnak, hogy szűrje a hosszú listát a folyamatazonosító alapján. A fenti képen láthatja azon folyamatok listáját, amelyek információiban a 15-ös szám szerepel.

A ps paranccsal és képességeivel kapcsolatos további információkért olvassa el a parancs kézikönyvoldalát. Az alábbi kód megjeleníti a kézikönyv oldalát:

man ps

Feladatprioritás kezelése Linuxban

Annak érdekében, hogy jobban elmagyarázzuk, hogyan működik valójában a folyamatkezelés Linuxban, ki kell térnünk a folyamatprioritásra és annak megváltoztatására is. Képzeljen el egy olyan helyzetet, amelyben több folyamatot futtat, és a CPU túlterhelt feladatokkal. Ha azt szeretné, hogy erőforrásai megfelelően működjenek ebben a helyzetben, módosítania kell a futó feladatok prioritását. A Linuxban minden folyamatnak van prioritási értéke. Ez az érték segít a kernelnek a feladatok priorizálásában. A prioritási szám -20 és 19 között mozog, ahol a 19 a legkevésbé fontos feladat, a -20 pedig a legsürgősebb. A legmagasabb prioritású folyamat több CPU-időt kap a többi folyamathoz képest. A prioritási értékeket gyakran „szép” értékeknek nevezik, az alacsonyabb szép értékek pedig magasabb prioritást mutatnak.

Szép és renice parancsokkal hatékonyan oszthatja el a rendszererőforrásokat.

Mielőtt azonban megváltoztatnánk a folyamatok prioritását, vizsgáljuk meg a ps parancs első használati esetét.

  • Az összes folyamat aktuális prioritásának megjelenítése a ps paranccsal:

Ez a parancs felsorolja az összes folyamatot a folyamatazonosítóikkal (PID), a parancsnevekkel és az aktuális prioritással (szép érték):

 

ps -eo pid,cmd,nice

Az összes folyamat prioritásának lekérése a ps paranccsal

  • Alapértelmezés szerint magas prioritású folyamat indítása a nice paranccsal:

Ezzel a paranccsal elindíthat egy folyamatot a kívánt prioritással:

nice -n [priority] [command]

Cserélje ki a [prioritás] a kívánt negatív értékre, amely a prioritási szintet képviseli, a [command] helyére pedig a végrehajtani kívánt parancsot.

Íme egy példa:

alapértelmezett magas prioritású folyamat elindítása

  • Egy már futó parancs prioritásának megváltoztatása:
renice -n [priority] -p [PID]

Cserélje ki a kezelni kívánt folyamat folyamatazonosítóját [PID]-re.

Ha egy nagy teljesítményű Linux gépet szeretne mindenféle feladat elvégzésére, a Linux VPS a legjobb megoldás az Ön számára. Cloudzy különféle Linux VPS-csomagokat kínál, amelyek előre telepítve vannak a kívánt disztribúcióban. A számos előnyös tulajdonsággal, mint például a 24 órás támogatás, a 30 napos pénz-visszatérítési politika és a 99,95%-os rendelkezésre állási garancia, a Cloudzynak sikerült alacsonyan tartania az árakat. A Linux VPS ára mindössze 4,95 USD/hónaptól indul.

Linux VPS hosting

Szerezzen be magának egy gazdaságos vagy prémium Linux VPS-t webhelye vagy távoli asztali üzemeltetéséhez a legolcsóbb áron. VPS Linux KVM-en fut a nagyobb hatékonyság érdekében, és nagy teljesítményű hardveren dolgozik NVMe SSD tárhellyel a nagyobb sebesség érdekében.

Olvasson tovább

Következtetés

Összefoglalva, a folyamatkezelés és a rendszervezérlés elsajátítása elengedhetetlen a rendszergazdáknak, a Linux-rajongóknak, akik többet szeretnének tanulni, és a rendszeres Linux-felhasználóknak. A ps parancs képességeinek és funkcióinak megismerése megkönnyítheti a tanulási folyamatok kezelését. Ez az oka annak, hogy ez a cikk a ps parancs fontos használati eseteit tárgyalja, valamint bemutatja az olvasóknak a Linux folyamatait.

GYIK

Mi a ps aux parancs Linuxban?

A ps aux Linux parancs egy általánosan használt parancs a Linuxban a futó folyamatokkal kapcsolatos információk megszerzésére. A folyamatok átfogó listáját nyújthatja felhasználóbarát formátumban, beleértve a folyamatazonosítóikat (PID), a CPU- és memóriahasználatot, a végrehajtási állapotokat és egyéb fontos részleteket.

Mi a kétféle folyamat a Linuxban?

Előtérbeli folyamatok és háttérfolyamatok. Az előtérbeli folyamatok lefoglalják a terminált futás közben, és nem tesznek lehetővé más végrehajtást. A háttérfolyamatok a háttérben futnak, és nem foglalják el az egész terminált.

Hogyan nézhetem meg a Linux rendszeremen futó folyamatok listáját?

A Linux rendszeren futó folyamatok listája olyan parancsokkal érhető el, mint a ps, top vagy htop. Például a Linux ps aux parancsa részletes információkat nyújt az összes futó folyamatról.

Részesedés

Továbbiak a blogból

Olvass tovább.

A Cosmos Cloud borítóképével futtatható legjobb saját üzemeltetésű alkalmazások a Cosmos irányítópultja körüli alkalmazáspanelekkel.
Szerverek és operációs rendszer

A Cosmos Cloud segítségével futtatható legjobb saját üzemeltetésű alkalmazások: fájlok, média, jelszavak, automatizálás és egyebek!

Lehet, hogy beállította a Cosmos Cloud szolgáltatást, és most szeretné látni, hogy mely alkalmazások illenek jól hozzá, vagy talán még nem döntötte el a Cosmos mellett, és csak azt szeretné látni, hogy mennyire illeszkedik a munkájához.

Nick SilverNick Silver 16 perc olvasás
Portainer vs Cosmos Cloud a Docker Apps kezeléséhez, hibrid beállítási diagrammal és neon ops vs hozzáférési blokkokkal.
Szerverek és operációs rendszer

Portainer vs Cosmos Cloud: A legjobban illeszkedik a Docker alkalmazáskezeléshez

Ha már ismeri a Dockert, és csak tisztább módon szeretné futtatni a növekvő alkalmazáskészletet, íme a rövid válasz a Portainer vs Cosmos Cloud kérdésére. Portainer az erősebb választás a direc számára

Nick SilverNick Silver 14 perc olvasás
A Cosmos Cloud vs CasaOS vs Umbrel funkciógrafika, amely három önállóan tárolt útvonalat mutat be egy absztrakt felhőhálózati világban.
Szerverek és operációs rendszer

Cosmos Cloud vs CasaOS vs Umbrel: Melyik önkiszolgáló platform illik az Ön beállításához?

A rövid válasz az, hogy továbbra is a CasaOS a legkönnyebb kezdeni, az Umbrel a legtisztábban kezeli, és a Cosmos Cloud értelmesebb, ha szorosabb ellenőrzést szeretne a doma felett.

Nick SilverNick Silver 11 perc olvasás

Készen áll a telepítésre? 2,48 USD/hó-tól.

Független felhő, 2008 óta. AMD EPYC, NVMe, 40 Gbps. 14 napos pénzvisszafizetés.