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.
- Folyamatnév megkeresése PID-szám használatával Linuxban
- Keresse meg a legjobban futó folyamatokat a Linux legnagyobb memória- és processzorhasználata alapján
- Útmutató a Kill, Pkill és Killall parancsokhoz a folyamat leállításához Linux alatt
- Futó folyamatok keresése és leállítása Linuxban
- 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.