Weboldal keresés

30 Hasznos „ps parancs” példa Linux folyamatfigyeléshez


A ps (folyamatok állapota) egy natív Unix/Linux segédprogram a rendszeren futó folyamatokkal kapcsolatos információk megtekintésére: kiolvassa ezeket az információkat a/proc fájlrendszer. Ez az egyik fontos segédprogram a rendszeradminisztrációhoz, kifejezetten folyamatfigyelés alatt, hogy segítsen megérteni, mi történik egy Linux rendszerben.

Számos lehetőséget kínál a kimenetének manipulálására, azonban néhányat praktikusan hasznosnak talál a napi használat során.

Olvassa el még: Minden, amit a Linux folyamatairól tudni kell [Átfogó útmutató]

Ebben a cikkben 30 hasznos példát tekintünk meg a ps parancsokra, amelyek segítségével nyomon követhetők az aktív futó folyamatok Linux rendszeren.

Vegye figyelembe, hogy a ps fejlécsorral állítja elő a kimenetet, amely az egyes információs oszlopok jelentését jelenti. Az összes címke jelentését megtalálhatja a ps kézikönyvoldalán.

Sorolja fel az összes folyamatot az aktuális shellben

1. Ha argumentumok nélkül futtatja a ps parancsot, az megjeleníti az aktuális shell folyamatait.

ps 

Nyomtasson ki minden folyamatot különböző formátumokban

2. Jelenítsen meg minden aktív folyamatot egy Linux rendszeren általános (Unix/Linux) formátumban.

ps -A
OR
ps -e

3. Jelenítse meg az összes folyamatot BSD formátumban.

ps au
OR
ps axu

4. Teljes formátumú listázáshoz adja hozzá a -f vagy a -F jelzőt.

ps -ef
OR
ps -eF

Felhasználói folyamatok megjelenítése

5. Kijelölheti az összes tulajdonában lévő folyamatot (a ps parancs futtatója, ebben az esetben root), írja be:

ps -x 

6. A felhasználói folyamatok valós felhasználói azonosítóval (RUID) vagy névvel való megjelenítéséhez használja a -U jelzőt.

ps -fU tecmint
OR
ps -fu 1000

7. A felhasználói folyamatok tényleges azonosítója (EUID) vagy név alapján történő kiválasztásához használja a -u opciót. .

ps -fu tecmint
OR
ps -fu 1000

Az összes gyökérként futó folyamat nyomtatása (valós és tényleges azonosító)

8. Az alábbi paranccsal megtekinthet minden olyan folyamatot, amely root felhasználói jogosultsággal (valós és tényleges azonosító) fut felhasználói formátumban.

ps -U root -u root 

Csoportfolyamatok megjelenítése

9. Ha egy bizonyos csoporthoz tartozó összes folyamatot listázni szeretné (valós csoportazonosító (RGID) vagy név), írja be.

ps -fG apache
OR
ps -fG 48

10. A tényleges csoportnév (vagy munkamenet) tulajdonában lévő összes folyamat listázásához írja be a következőt:

ps -fg apache

Folyamatok megjelenítése PID és PPID szerint

11. A folyamatokat PID szerint listázhatja az alábbiak szerint.

ps -fp 1178

12. A folyamat PPID alapján történő kiválasztásához írja be.

ps -f --ppid 1154

13. Válasszon egy PID-lista segítségével.

ps -fp 2226,1154,1146

Folyamatok megjelenítése TTY által

14. A folyamatok tty alapján történő kiválasztásához használja a -t jelzőt az alábbiak szerint.


ps -t pts/0
ps -t pts/1
ps -ft tty1

Nyomtatási folyamatfa

15. A folyamatfa megmutatja, hogy a rendszer folyamatai hogyan kapcsolódnak egymáshoz; azokat a folyamatokat, amelyek szüleit megölték, az init (vagy systemd) veszi át.

ps -e --forest 

16. Ehhez hasonló folyamatfát is nyomtathat egy adott folyamathoz.

ps -f --forest -C sshd
OR
ps -ef --forest | grep -v grep | grep sshd 

Nyomtatási folyamat szálak

17. Egy folyamat összes szálának kinyomtatásához használja a -L jelzőt, ez az LWP (könnyű folyamat)), valamint az NLWP (könnyű eljárások száma) oszlopok.

ps -fL -C httpd

Adja meg az egyéni kimeneti formátumot

A -o vagy –format opciók használatával a ps lehetővé teszi a felhasználó által definiált kimeneti formátumok létrehozását az alábbiak szerint.

18. Az összes formátum-specifikáció felsorolásához használja az L jelzőt.

ps L

19. Az alábbi paranccsal megtekintheti egy folyamat PID-jét, PPID-jét, felhasználónevét és parancsát.

ps -eo pid,ppid,user,cmd

20. Az alábbiakban egy másik példa egy egyéni kimeneti formátumra, amely egy folyamat fájlrendszercsoportját, szép értékét, kezdési idejét és eltelt idejét mutatja.

ps -p 1154 -o pid,ppid,fgroup,ni,lstart,etime

21. Folyamatnév keresése a PID használatával.

ps -p 1154 -o comm=

Szülői és gyermeki folyamatok megjelenítése

22. Ha egy adott folyamatot a neve alapján szeretne kiválasztani, használja a -C kapcsolót, amely megjeleníti az összes gyermekfolyamatot is.

ps -C sshd

23. Keresse meg egy folyamat összes példányának összes PID-jét, ami hasznos olyan szkriptek írásakor, amelyeknek PID-eket kell olvasniuk egy normál kimenetből vagy fájlból.

ps -C httpd -o pid=

24. Ellenőrizze a folyamat végrehajtási idejét.

ps -eo comm,etime,user | grep httpd

Az alábbi kimenet azt mutatja, hogy a HTTPD szolgáltatás 1 órája, 48 perce és 17 másodperce fut.

A Linux rendszer teljesítményével kapcsolatos hibaelhárítás

Ha a rendszer nem úgy működik, ahogy kellene, például ha szokatlanul lassú, az alábbiak szerint végezhet hibaelhárítást.

26. Keresse meg a legjobban futó folyamatokat a Linux legnagyobb memória- és CPU-használata alapján.

ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head
OR
ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | head

27. Linux-folyamatok/nem reagáló alkalmazások vagy bármilyen sok CPU-időt igénylő folyamat leállítása.

Először keresse meg a nem reagáló folyamat vagy alkalmazás PID-jét.

ps -A | grep -i stress

Ezután használja a kill parancsot az azonnali leállításhoz.

kill -9 2583 2584

Biztonsági információk nyomtatása

28. Jelenítse meg a biztonsági kontextust (különösen a SELinux esetén) ehhez hasonló módon.

ps -eM
OR
ps --context

29. Ezzel a paranccsal a biztonsági információkat felhasználó által meghatározott formátumban is megjelenítheti.

ps -eo  euser,ruser,suser,fuser,f,comm,label

Végezzen valós idejű folyamatfigyelést a Watch Utility segítségével

30. Végül, mivel a ps statikus információkat jelenít meg, a Watch segédprogram segítségével valós idejű folyamatfigyelést hajthat végre ismétlődő kimenettel, amely másodpercenként jelenik meg az alábbi parancs szerint. (Adjon meg egy egyéni ps parancsot a cél eléréséhez).

watch -n 1 'ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head'

Fontos: a ps csak statikus információkat jelenít meg, a gyakran frissített kimenet megtekintéséhez olyan eszközöket használhat, mint a htop; tetejére, és pillantások: az utolsó kettő valójában Linux rendszerteljesítmény-figyelő eszköz.

Érdemes elolvasni a következő kapcsolódó cikkeket is.

  1. Folyamatnév megkeresése PID-szám használatával Linuxban
  2. Keresse meg a legjobban futó folyamatokat a Linux legnagyobb memória- és processzorhasználata alapján
  3. Útmutató a Kill, Pkill és Killall parancsokhoz a folyamat leállításához Linux alatt
  4. Futó folyamatok keresése és leállítása Linuxban
  5. Hogyan indítsuk el a Linux parancsot a háttérben, és hogyan távolítsuk el a folyamatot a terminálban

Ez minden most. Ha van hasznos ps parancs példája, amelyet meg szeretne osztani (ne felejtse el elmagyarázni, hogy mit csinál), használja az alábbi megjegyzés űrlapot.