30 Nyttige ps-kommandoeksempler for Linux-prosessovervåking


ps (prosessstatus) er et innebygd Unix/Linux-verktøy for å vise informasjon om et utvalg kjørende prosesser på et system: det leser denne informasjonen fra de virtuelle filene i /proc-filsystemet. Det er et av de viktige verktøyene for systemadministrasjon, spesielt under prosessovervåking, for å hjelpe deg å forstå hva som skjer i et Linux-system.

Den har mange alternativer for å manipulere produksjonen, men du vil finne et lite antall av dem praktisk talt nyttig for daglig bruk.

I denne artikkelen skal vi se på 30 nyttige eksempler på ps-kommandoer for å overvåke aktive kjørende prosesser på et Linux-system.

Merk at ps produserer utdata med en overskriftslinje, som representerer betydningen av hver kolonne med informasjon. Du kan finne betydningen av alle etikettene på ps man-siden.

Vis alle prosesser i gjeldende skall

1. Hvis du kjører ps-kommandoen uten noen argumenter, viser den prosesser for gjeldende skall.

$ ps 

Skriv ut alle prosesser i forskjellige formater

2. Vis alle aktive prosesser på et Linux-system i generisk (Unix/Linux) format.

$ ps -A
OR
$ ps -e

3. Vis alle prosesser i BSD-format.

$ ps au
OR
$ ps axu

4. For å utføre en fullformatoppføring, legg til -f eller -F-flagget.

$ ps -ef
OR
$ ps -eF

Vis brukerløpende prosesser

5. Du kan velge alle prosesser som eies av deg (løper av ps-kommandoen, root i dette tilfellet), skriv inn:

$ ps -x 

6. For å vise en brukers prosesser etter ekte bruker-ID (RUID) eller navn, bruk -U-flagget.

$ ps -fU tecmint
OR
$ ps -fu 1000

7. For å velge en brukers prosesser etter effektiv bruker-ID (EUID) eller navn, bruk -u-alternativet.

$ ps -fu tecmint
OR
$ ps -fu 1000

Skriv ut alle prosesser som kjører som rot (ekte og effektiv ID)

8. Kommandoen nedenfor lar deg se hver prosess som kjører med root-brukerprivilegier (reell og effektiv ID) i brukerformat.

$ ps -U root -u root 

Vis gruppeprosesser

9. Hvis du vil liste opp alle prosesser som eies av en bestemt gruppe (ekte gruppe-ID (RGID) eller navn), skriv inn.

$ ps -fG apache
OR
$ ps -fG 48

10. For å liste opp alle prosesser som eies av effektivt gruppenavn (eller økt), skriv.

$ ps -fg apache

Vis prosesser etter PID og PPID

11. Du kan liste prosesser etter PID som følger.

$ ps -fp 1178

12. For å velge prosess etter PPID, skriv.

$ ps -f --ppid 1154

13. Gjør et valg ved å bruke en PID-liste.

$ ps -fp 2226,1154,1146

Vis prosesser etter TTY

14. For å velge prosesser etter tty, bruk -t-flagget som følger.

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

Skriv ut prosesstre

15. Et prosesstre viser hvordan prosesser på systemet er knyttet til hverandre; prosesser hvis foreldre har blitt drept, blir adoptert av init (eller systemd).

$ ps -e --forest 

16. Du kan også skrive ut et prosesstre for en gitt prosess som dette.

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

Skriv ut prosesstråder

17. For å skrive ut alle trådene i en prosess, bruk -L-flagget, dette vil vise kolonnene LWP (lettvektsprosess) samt NLWP (antall lettvektsprosesser).

$ ps -fL -C httpd

Angi tilpasset utdataformat

Ved å bruke -o- eller -formatalternativene lar ps deg bygge brukerdefinerte utdataformater som vist nedenfor.

18. For å liste alle formatspesifikasjoner, inkluderer L-flagget.

$ ps L

19. Kommandoen nedenfor lar deg se PID, PPID, brukernavn og kommando for en prosess.

$ ps -eo pid,ppid,user,cmd

20. Nedenfor er et annet eksempel på et tilpasset utdataformat som viser filsystemgruppe, fin verdi, starttid og medgått tid for en prosess.

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

21. For å finne et prosessnavn ved å bruke PID.

$ ps -p 1154 -o comm=

Vis foreldre- og underordnede prosesser

22. For å velge en spesifikk prosess etter navnet, bruk flagget -C, dette vil også vise alle underordnede prosesser.

$ ps -C sshd

23. Finn alle PID-er for alle forekomster av en prosess, nyttig når du skriver skript som trenger å lese PID-er fra en standardutgang eller fil.

$ ps -C httpd -o pid=

24. Sjekk utførelsestiden for en prosess.

$ ps -eo comm,etime,user | grep httpd

Utdataene nedenfor viser at HTTPD-tjenesten har kjørt i 1 time, 48 minutter og 17 sekunder.

Feilsøk Linux-systemytelse

Hvis systemet ditt ikke fungerer som det skal være, for eksempel, hvis det er uvanlig tregt, kan du utføre noe systemfeilsøking som følger.

26. Finn de mest populære prosessene etter høyeste minne- og CPU-bruk i Linux.

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

27. For å drepe Linux-prosesser/applikasjoner som ikke reagerer eller enhver prosess som bruker høy CPU-tid.

Finn først PID-en til prosessen eller applikasjonen som ikke svarer.

$ ps -A | grep -i stress

Bruk deretter kill-kommandoen for å avslutte den umiddelbart.

$ kill -9 2583 2584

Skriv ut sikkerhetsinformasjon

28. Vis sikkerhetskontekst (spesifikt for SELinux) som dette.

$ ps -eM
OR
$ ps --context

29. Du kan også vise sikkerhetsinformasjon i et brukerdefinert format med denne kommandoen.

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

Utfør prosessovervåking i sanntid ved å bruke Watch Utility

30. Til slutt, siden ps viser statisk informasjon, kan du bruke klokkeverktøyet til å utføre sanntids prosessovervåking med repeterende utdata, vist etter hvert sekund som i kommandoen nedenfor (spesifiser en tilpasset ps-kommando for å oppnå målet ditt).

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

Viktig: ps viser kun statisk informasjon, for å se ofte oppdaterte utdata kan du bruke verktøy som blikk: de to siste er faktisk overvåkingsverktøy for Linux-systemytelse.

Du vil kanskje også lese følgende relaterte artikler.

  1. Hvordan finne et prosessnavn ved å bruke PID-nummer i Linux
  2. Finn de mest populære prosessene etter høyeste minne- og CPU-bruk i Linux
  3. En guide til Kill-, Pkill- og Killall-kommandoer for å avslutte en prosess i Linux
  4. Hvordan finne og drepe kjørende prosesser i Linux
  5. Hvordan starte Linux-kommando i bakgrunnen og frakoble prosess i terminal

Det er alt for nå. Hvis du har noen nyttige eksempler på ps-kommandoer å dele (ikke glem å forklare hva det gjør), bruk kommentarskjemaet nedenfor.