30 Hasznos “ps Command” példa Linux folyamatfigyeléshez
A ps (folyamatok állapota) egy natív Unix / Linux segédprogram a kiválasztással kapcsolatos információk megtekintéséhez a folyamatok futtatása egy rendszeren: kiolvassa ezeket az információkat a / proc fájlrendszer virtuális fájljaiból. Ez a rendszeradminisztráció egyik fontos segédprogramja, kifejezetten a folyamatfigyelés alatt, hogy segítsen megérteni, mi folyik egy Linux rendszeren.
Számos lehetősége van a kimenetének kezelésére, azonban talál egy kis ezek száma gyakorlatilag hasznos a mindennapi használat során.
Olvassa el még: Minden, amit tudnia kell a Linux folyamatairól
Ebben a cikkben 30 hasznos példát fogunk megnézni a ps parancsokról az aktív futó folyamatok figyeléséhez Linux rendszeren.
Ne feledje, hogy a ps fejlécsorral állítja elő a kimenetet, amely az egyes információoszlopok jelentését képviseli. oldal.
Sorolja fel az összes folyamatot az aktuális héjban
1. Ha argumentum nélkül futtatja a ps parancsot, akkor az az aktuális héj folyamatát jeleníti meg.
$ ps
Az összes folyamat nyomtatása különböző formátumokban
2. Minden aktív folyamat megjelenítése Linux rendszeren általános (Unix / Linux) formátumban.
$ ps -AOR$ ps -e
3. Az összes folyamat megjelenítése BSD formátumban.
$ ps auOR$ ps axu
4. Teljes formátumú lista végrehajtásához adja hozzá a -f
vagy a -F
jelölőt.
$ ps -efOR$ ps -eF
A felhasználó futási folyamatainak megjelenítése
5. Kiválaszthatja az összes saját tulajdonában lévő folyamatot (a ps parancs futója, ebben az esetben root), írja be:
$ ps -x
6. A felhasználói folyamatok valós felhasználói azonosító (RUID) vagy név alapján történő megjelenítéséhez használja a -U
jelzőt.
$ ps -fU tecmintOR$ ps -fu 1000
7. A felhasználói folyamatok tényleges felhasználói azonosító (EUID) vagy név alapján történő kiválasztásához használja a -u
beállítást.
$ ps -fu tecmintOR$ ps -fu 1000
Az összes gyökérként futó folyamat kinyomtatása (Real és Effecitve ID)
8. Az alábbi paranccsal megtekintheti a root felhasználói jogosultságokkal (valós & tényleges azonosító) futó folyamatokat felhasználói formátumban.
$ ps -U root -u root
Csoportfolyamatok megjelenítése
9. Ha fel akarja sorolni az összes folyamatot, amelyek egy adott csoport tulajdonában vannak (valós csoportazonosító (RGID) vagy név), írja be.
$ ps -fG apacheOR$ ps -fG 48
10. Írja be a következőt: a tényleges csoportnév (vagy munkamenet) tulajdonában lévő összes folyamat.
$ ps -fg apache
Folyamatok megjelenítése PID és PPID szerint
11. A folyamatokat PID szerint sorolhatja fel az alábbiak szerint.
$ ps -fp 1178
12. A folyamat PPID szerinti kiválasztásához írja be.
$ ps -f --ppid 1154
13. Válasszon a PID lista használatával.
$ ps -fp 2226,1154,1146
Folyamatok megjelenítése TTY szerint
14. A folyamatok tty szerinti kiválasztásához használja a -t jelzőt az alábbiak szerint.
$ ps -t pst/0$ ps -t pst/1$ ps -ft tty1
Process Tree nyomtatása
15. A folyamatfa megmutatja, hogy a rendszer folyamata hogyan kapcsolódik egymáshoz; azokat a folyamatokat, amelyeknek szüleit megölték, az init (vagy a systemd) fogadja el.
$ ps -e --forest
16. Kinyomtathat egy folyamatfát is egy adott folyamathoz, mint ez.
$ ps -f --forest -C sshdOR$ ps -ef --forest | grep -v grep | grep sshd
Folyamatszálak nyomtatása
17. A folyamat összes szálának kinyomtatásához használja az -H
jelölőt, ez megmutatja az LWP (könnyű folyamat) és az NLWP (a könnyű folyamat száma) oszlopokat.
$ ps -fL -C httpd
Egyéni kimeneti formátum megadása
Az -o vagy –formátum opciók használatával a ps lehetővé teszi a felhasználó által definiált kimeneti formátumok felépítését az alábbiak szerint.
18. Az összes formátummeghatározó felsorolásához adja meg a L
jelzőt.
$ ps L
19. Az alábbi paranccsal megtekintheti a folyamat PID-jét, PPID-jét, felhasználónevét és parancsát.
$ ps -eo pid,ppid,user,cmd
20. Az alábbiakban látható egy másik példa az egyéni kimeneti formátumra, amely a fájlrendszer-csoportot, a szép értéket, a folyamat kezdési idejét és az eltelt időt mutatja.
$ ps -p 1154 -o pid,ppid,fgroup,ni,lstart,etime
21. Folyamatnév PID használatával történő megkeresése.
$ ps -p 1154 -o comm=
Szülő- és gyermekfolyamatok megjelenítése
22. Ha egy adott folyamatot a neve alapján szeretne kiválasztani, használja a -C jelzőt, ez az összes gyermekfolyamatát is megjeleníti.
$ ps -C sshd
23. Megtalálja a folyamat összes példányának összes PID-jét, ami hasznos olyan szkriptek írásakor, amelyeknek PID-ket kell olvasniuk egy standard kimenetből vagy fájlból.
$ ps -C httpd -o pid=
24. Ellenőrizze egy 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án, 48 percen és 17 másodpercen keresztül fut.
Hibaelhárítás Linux rendszer teljesítménye
Ha a rendszere nem megfelelően működik, például ha szokatlanul lassú, akkor a következőképpen hajthatja végre a rendszer hibaelhárítását.
26. Keresse meg a legjobban futó folyamatokat a Linux legnagyobb memóriája és CPU-felhasználása alapján.
$ ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | headOR$ ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | head
27. Linux-folyamatok / nem reagáló alkalmazások vagy bármely processzor megölése, amely magas CPU-időt igényel.
Először keresse meg a nem válaszoló folyamat vagy alkalmazás PID-jét.
$ ps -A | grep -i stress
Ezután használja a kill parancsot azonnali befejezéséhez.
$ kill -9 2583 2584
Biztonsági információk nyomtatása
28. Biztonsági kontextus megjelenítése (kifejezetten a SELinux számára).
$ ps -eMOR$ ps --context
29. A biztonsági információkat ezzel a paranccsal a felhasználó által meghatározott formátumban is megjelenítheti.
$ ps -eo euser,ruser,suser,fuser,f,comm,label
Valós idejű folyamatfigyelést végezzen a Watch segédprogram használatával
30. Végül, mivel a ps statikus információkat jelenít meg, használhatja a watch segédprogramot valós idejű folyamatfigyelésre, ismétlődő kimenettel, másodpercek után megjelenítve, az alábbi parancsnak megfelelően (adjon meg egy egyedi 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ülő kimenet megtekintéséhez olyan eszközöket használhat, mint a htop; oldal és pillantások: az utolsó kettő valójában a Linux rendszer teljesítmény-figyelő eszköze.
Érdemes elolvasnia a következő kapcsolódó cikkeket is.
- Hogyan találhatunk folyamatnevet a PID-szám használatával a Linuxban?
- A legjobban futó folyamatok megkeresése a Linux legnagyobb memóriája és CPU-felhasználása alapján
- Útmutató Kill, Pkill és Killall parancsok a folyamat leállításához Linux rendszerben
- Hogyan lehet megtalálni és megölni a futó folyamatokat Linux rendszerben
- Hogyan lehet elindítani a Linux parancsot a háttérben, és hogyan lehet leválasztani a folyamatot a terminálról