50% kedvezmény minden csomagra, korlátozott ideig. Kezdőár: $2.48/mo
10 perc maradt
Kiszolgálók és operációs rendszer

Folyamatkezelés elsajátítása – Linux ps aux parancs

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

Van legalább öt másik fül nyitva a böngészőben, és próbálod megtalálni az Linux problémád megoldását?
Ez a viselkedés nem jellemző rád vagy az emberekre általában. A gépek is többfeladatos feldolgozást végeznek. Csakúgy, mint te, az Linux is többfeladatos és több folyamat fut egyszerre. Függetlenül attól, hogy Linux fejlesztőként professzionálisan dolgozol, vagy normális felhasználóként napi aktivitásaidhoz Linux-t használsz, értened kell az ezeket a párhuzamos folyamatokat a teljes rendszerkontroll megtartásához. A folyamatkezelés és rendszerkontroll a Linux rendszer működésének alapvető aspektusai.

Ahhoz, hogy hatékonyan kezeld a rendszeren futó folyamatokat, valós időben lásd, mi történik, áttekintést kapj az összes háttérfolyamatról, és szabályozd a rendszererőforrásokat, szükséged van a folyamatkezelés technikai ismereteire. A ps aux parancs egy hatékony parancs, amely fontos szerepet játszik a folyamatkezelésben és a rendszerkontrollban. Ebben a cikkben többet megtudunk a ps aux parancsról és felhasználási eseteiről. Az Linux folyamatok működésének alapjait is tárgyaljuk.

A Linux folyamatkezelésének megértése

Amikor Linux-vel dolgozol, a rendszerrel történő interakciók többnyire parancsok formájában történnek. Linux-ben a folyamat egy parancs végrehajtása. Az Linux folyamatkezelés a parancs által indított folyamatok kezeléseit jelenti. Leállíthatsz egy folyamatot, elindíthatsz egyet, vagy folytathatod a leállított folyamatokat. A folyamatban lévő parancsokat is manipulálhatod.

Az Linux folyamatok két típusa van:

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

Linux előtérfolyamatok

Az előtérfolyamat egy aktívan végre hajtódó folyamat, amely általában állandó és valós idejű felhasználói interakciót igényel. Amikor egy előtérfolyamat működik, a többi folyamat végrehajtása szünetel. Nem tudsz más parancsokat futtatni. Az előtérfolyamat a billentyűzetről kapja az input-ot szabványos bemenetként vagy stdin-ként. A félreértésig elkerülése végett a stdin és a stdout az Linux adatfolyamok a stderr-rel együtt. Lényegében így lép vele kapcsolatba a felhasználó, és nyújt adatot a folyamatnak. A folyamat által előállított szabványos kimenet vagy stdout a funkcionalitása és az input alapján jön létre. Az előtérfolyamatok az Linux alapértelmezett végrehajtási módja.

Linux háttérfolyamatok

A háttérfolyamatok az előtérfolyamatok pontos ellentéte, mivel nem igényelnek felhasználói interakciót, és nem foglalják el kizárólagosan a terminál teljes terét, lehetővé téve más folyamatok végrehajtását. A háttérfolyamatok bemenete és kimenete típusa szintén eltérő. Általában nem vesznek stdin-t. A folyamat eredménye azonban megjelenhet stdout-ként. A háttérfolyamatok kimenete egyidejűleg jelenik meg az egyéb előtérfolyamatok kimenetével. Így láthatod a háttérfolyamat előrehaladását vagy eredményeit anélkül, hogy zavarná más fontos tevékenységeket.

Mivel az Linux-ben számos feladat végrehajtása a parancssorontól függ, az előtérfolyamatok problémásak lehetnek, míg a háttérben futó folyamatok felszabadítják a terminálodat más feladatok elvégzéséhez. Így az előtérfeladat háttérbe helyezése ésszerű dolog. Ahhoz, hogy küldjön egy folyamatot a háttérbe először le kell állítanod az előtérben futást. Ezt egyszerűen a CTRL+Z megnyomásával lehet megtenni. Majd a bg parancs beírásával a leállított folyamat a háttérben újra fut. Az fg parancs fordítottan működik, és az előtérbe hozza a folyamatot.

Folyamatállapot; szintaxis, parancsok és a kimenet értelmezése

Az Linux-ben a hatékony folyamatkezeléshez szükséges a ps aux parancs által figyelhető folyamatok állapotának megértése. De mielőtt mélyebben belemennénk a ps aux parancsba, ismerjük meg a különféle folyamatállapotokat. Bár számos folyamattípus és folyamatállapot létezik, itt van a leggyakoribbak táblázata:

Folyamat állapota leírás
Fut (R) A folyamat jelenleg fut és CPU erőforrásokat használ.
Alvó állapotban Szakítható (S) A folyamat egy adott bemenet vagy esemény megérkezésére vár, hogy újra elinduljon. Jelenleg nem használ CPU erőforrásokat. Amikor erőforrások elérhetővé válnak vagy jelek érkeznek, a folyamat újra elindul.
Szünetmentes (D) Ahogy egy megszakítható alvó folyamat sem használ CPU erőforrásokat, az azonos igaz a nem szakítható alvó folyamatra is. Az egyetlen különbség, hogy nem reagál a jelzésekre, csak akkor éled vissza, amikor erőforrások elérhetővé válnak.
Leállítva(T) Egy felhasználói beavatkozás vagy egy konkrét esemény felfüggesztette a folyamatot. A leállított állapotban lévő folyamat nem használ CPU erőforrásokat.
Halott(X) A folyamat befejeződött és többé nem létezik.

A folyamatok állapotainak pontos megértése alapvető fontosságú az Linux rendszerek hatékony kezeléséhez és hibaelhárításához. Most nézzük meg az Linux folyamatok állapotának lekérdezésére szolgáló szintaxist és parancsokat, valamint az eredmények értelmezésének módját.

Szintaxis és parancsok a folyamat állapotának lekérdezéséhez

Az Linux folyamat állapotát a ps parancs alapvető szintaxisával kérdezheted le:

ps [process name]

A ps parancsnak léteznek egyéb lehetőségei is:

aux: Ez a lehetőség az összes, a rendszeren futó folyamat teljes listáját jeleníti meg. Információt nyújt a folyamat azonosítókról (PID), szülő folyamat azonosítókról (PPID), CPU és memóriahasználatról, valamint a folyamatok állapotáról. A ps aux parancs kimenete rendezettebb, olvashatóbb, és sokkal több hasznos információt tartalmaz az alapvető ps parancshoz képest.

ef: Ez a lehetőség részletekből álló folyamat listázást jelenít meg, beleértve a folyamat-hierarchiát egy faszerű struktúrában.

l: Ez a lehetőség hosszú formátumú listázást nyújt, részletesebb információkkal a folyamatokról.

A kimenet értelmezése

Amikor a ps parancsot a kívánt lehetőségekkel futtatod, az kimenetet generál, amely a rendszeren éppen futó folyamatokat képviseli. A kimenet oszlopokból áll, amelyek a különböző folyamat attribútumokat mutatják, beleértve a folyamat azonosítót (PID), szülő folyamat azonosítót (PPID), CPU használatot, memóriahasználatot, folyamat állapotot, terminál típusát és parancs nevét.

Íme az egyes oszlopok jelentésének magyarázata:

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

TTY: Ez az oszlop azt mutatja, hogy a felhasználó milyen típusú terminálra jelentkezett be.

IDŐ: Ez az oszlop azt jelzi, hogy a folyamat mennyi CPU erőforrást használ fel, percekben és másodpercekben kifejezve.

CMD: Ez az oszlop a parancs nevét jelenti, amely elindította ezt a folyamatot.

A ps parancs által nyújtott információk elemzése mélyebb betekintést ad az Linux géped működésébe.

Advanced ps Techniques For Process Management With the ps Command

Fedezzük fel a ps parancs fejlett funkcióit és azok hatékony alkalmazásának módját:

1. Folyamatok Rendezése

A ps aux parancs használatával a végső kimenetet különböző oszlopok alapján rendezheted. Például a folyamatokat a folyamat azonosító vagy a CPU használat alapján rendezheted, hogy a kívánt sorrendben lásd őket.

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

ps aux –-sort pid

A head parancs csak a kimenet első öt sorát jeleníti meg.

ps aux rendezés pid

2. Folyamatok fastruktúrájának megjelenítése

Ha világosan szeretnéd látni a folyamatok szülő-gyermek kapcsolatait, a ps parancsot a forest lehetőséggel használhatod.

ps -aux --forest

Linux folyamatok szülő-gyermek kapcsolata

A folyamatok közötti kapcsolat faszerű mintázatban történő megtekintéséhez használhatod a pstree parancsot is. Ez a parancs olyan kimenetet hoz létre, amely érthetőbb, és tökéletesen ábrázolja a folyamatok hierarchiáját. A parancs használatához add be a következőket:

pstree [pid or username]

Azzal, hogy ezt a parancsot egy PID-del látod el, azt jelzed a parancsnak, hogy az adott folyamatot a fa gyökerének tekintse.

3. Szűrési folyamatok

Képzeld el, hogy egy meghatározott folyamat csoporttal szeretnél dolgozni; például az egyik felhasználó összes folyamatát szeretnéd felsorolni. A folyamatok szűrése egy jellemző alapján a ps parancs segítségével végezhető el. Ebben a példában a folyamatokat felhasználónév alapján szűrtük.

ps -u [username]

Linux-folyamatok szűrése a ps parancs használatával

A ps aux grep parancs szűrhet a folyamatokat a parancsnak adott mintázat vagy kulcsszó alapján. Nézd meg az alábbi kódot egy példaként:

ps aux grep parancs példa

Ez a parancs először felsorolja az összes folyamatot, majd átadja az eredményt a grep parancsnak, amely a hosszú listát a folyamat-azonosító alapján szűri. A fenti képen látható az összes olyan folyamat listája, amelyeknek az adataiban szerepel a 15-ös szám.

A ps parancs működéséről és lehetőségeiről további információkat a parancs man oldalán találsz. Az alábbi kód megjeleníti neked a man oldalt:

man ps

Linux-ben a feladatok prioritásának kezelése

Ahhoz, hogy jobban megértsük, hogyan működik a folyamatkezelés az Linux-ben, érdemes kitérni a folyamatok prioritására és annak módosítására. Képzelj el egy helyzetet, amikor több folyamat fut egyszerre, és az CPU túlterhelt feladatokkal. Ha ebben a helyzetben szeretnéd az erőforrásaidat megfelelően kezelni, meg kell változtatnod a futó feladatok prioritását. Az Linux-ben minden folyamatnak van egy prioritási értéke. Ez az érték segít a kernelnek a feladatok sorrendjét meghatározni. A prioritási szám -20 és 19 között mozog, ahol a 19 a legkevésbé fontos feladat, a -20 pedig a legurgensebb. A legmagasabb prioritású folyamat több CPU időt kap az egyéb folyamatokhoz képest. A prioritási értékeket gyakran "nice" értékeknek nevezzük, ahol az alacsonyabb nice értékek magasabb prioritást jelölnek.

A nice és renice parancsok segítségével hatékonyan oszthatod meg a rendszer erőforrásait.

De mielőtt megváltoztatnánk a folyamatok prioritását, nézzük meg a ps parancs első alkalmazási esetét.

  • Az összes folyamat aktuális prioritásának megjelenítése a ps parancs segítségével:

Ez a parancs listázza az összes folyamatot a folyamat-azonosítójukkal (PID), parancsnevükkel és az aktuális prioritásukkal (nice érték):

 

ps -eo pid,cmd,nice

Az összes folyamat prioritásának lekérése a ps parancs használatával

  • Folyamat indítása alapértelmezett magas prioritással a nice parancs használatával:

Ezzel a paranccsal elindíthat egy folyamatot az Ön által választott prioritással:

nice -n [priority] [command]

A [priority] helyére írja be a kívánt negatív értéket a prioritási szinthez, a [command] helyére pedig a végrehajtani kívánt parancsot.

I'm ready to translate to Hungarian. Please provide the English text you'd like me to translate.

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

  • Már futó parancs prioritásának módosítása:
renice -n [priority] -p [PID]

Helyettesítse a [PID]-et annak a folyamatnak a folyamatazonosítójával, amelyet módosítani szeretne.

Ha egy erős Linux gépet szeretnél, amely bármilyen feladatot képes elvégezni, Linux VPS a legjobb megoldás számodra. Cloudzy A Cloudzy különféle Linux VPS csomagokat kínál az Ön által választott disztribúcióval előre telepítve. Számos előnyös jellemzőnek köszönhetően, mint a 24/7 támogatás, a 30 napos pénzvisszafizetési garancia és a 99,95%-os üzemidő-garancia, a Cloudzy sikerült alacsony árakon tartani az árakat. Linux VPS-csomagjaink ára már 4,95 $/hó-tól kezdődik.

Linux VPS Hosting

Szerezz egy economy vagy premium Linux VPS weboldal vagy remote desktop hosztingolásához, a piacon a legolcsóbban. VPS Linux KVM-en futtatva a nagyobb hatékonyság érdekében, és erőteljes hardveren működve NVMe SSD tárolóval a nagyobb sebesség érdekében.

Továbbiak

Következtetés

Összefoglalva: a folyamatkezelés és rendszervezérlés ismerete elengedhetetlen a rendszeradminisztrátorok, az Linux iránt érdeklődő fejlesztők és a rendszeres Linux felhasználók számára. A ps parancs képességeinek és funkcióinak megismerése megkönnyíti a folyamatkezelés tanulását. Ezért tárgyalt cikkünk a ps parancs fontos alkalmazási eseteit, valamint bevezetést nyújtott az olvasóknak az Linux folyamatok világába.

Gyakran Ismételt Kérdések

Mi az a ps aux parancs az Linux-ben?

A ps aux Linux parancs egy gyakran használt parancs az Linux-ben a futó folyamatok információinak lekéréséhez. Átfogó folyamatlista-t nyújthat felhasználóbarát formátumban, amely tartalmazza a folyamatazonosítókat (PID-eket), CPU és memóriahasználatot, végrehajtási állapotokat és egyéb fontos részleteket.

Milyen két típusú folyamat van az Linux-ben?

Előtérfolyamatok és háttérfolyamatok. Az előtérfolyamatok a terminált foglalják le a futtatás során, és nem engedélyeznek más végrehajtást. A háttérfolyamatok a háttérben futnak, és nem foglalják le az egész terminált.

Hogyan tudom megtekinteni az Linux rendszeren futó folyamatok listáját?

Az Linux rendszeren futó folyamatok listáját a ps, top vagy htop parancsokkal tekintheted meg. Például az Linux ps aux parancs részletes információkat jelenít meg az összes futó folyamatról.

Megosztás

További bejegyzések a blogból

Folytass olvasást.

Legjobb saját üzemeltetésű alkalmazások, amelyeket Cosmos Cloud-vel futhatsz borítóképe az alkalmazáspanelekkel egy Cosmos irányítópult körül.
Kiszolgálók és operációs rendszer

Legjobb saját üzemeltetésű alkalmazások, amelyeket Cosmos Cloud-vel futhatsz: fájlok, média, jelszavak, automatizálás és még sok más!

Maybe ha már beállítottad a Cosmos Cloud-t és szeretnéd megtekinteni, mely alkalmazások illenek hozzá, vagy még nem döntöttél a Cosmos mellett, és csak azt szeretnéd megtudni, mennyire passzol a munkafolyamatodhoz

Nick EzüstNick Ezüst 16 perces olvasás
Portainer vs Cosmos Cloud a Docker alkalmazások kezeléséhez borítóképe hibrid beállítás diagrammal és neon ops vs hozzáférési blokkok.
Kiszolgálók és operációs rendszer

Portainer vs Cosmos Cloud: melyik a jobb választás a Docker alkalmazáskezeléshez

Ha már ismered a Docker-t és csak tisztább megoldást akarsz egy növekvő alkalmazásveremhez, itt a rövid válasz a Portainer vs Cosmos Cloud kérdésre. A Portainer az erősebb választás a közvetlen

Nick EzüstNick Ezüst 14 perc olvasás
Cosmos Cloud vs CasaOS vs Umbrel funkciógrafika három saját üzemeltetésű útvonalat mutat egy absztrakt felhőhálózati világban.
Kiszolgálók és operációs rendszer

Cosmos Cloud vs CasaOS vs Umbrel: melyik saját üzemeltetésű platform passzol az eszközödbe?

A rövid válasz az, hogy a CasaOS még mindig a legkönnyebb kiindulópont, az Umbrel a legszebb kurátált érzést nyújtja, és a Cosmos Cloud értelmesebb választás, ha szoros kontrollt akarsz a domén

Nick EzüstNick Ezüst 11 perces olvasás

Készen áll az üzembe helyezésre? 2,48 dollártól havonta.

Független felhőszolgáltató 2008 óta. AMD EPYC, NVMe, 40 Gbps. 14 napos pénzvisszafizetési garancia.