Zoeken op website

30 Handige 'ps Command'-voorbeelden voor Linux-procesmonitoring


ps (processes status) is een native Unix/Linux-hulpprogramma voor het bekijken van informatie over een selectie van actieve processen op een systeem: het leest deze informatie uit de virtuele bestanden in de/proc-bestandssysteem. Het is een van de belangrijke hulpprogramma's voor systeembeheer, specifiek onder procesbewaking, om u te helpen begrijpen wat er in een Linux-systeem gebeurt.

Het heeft talloze opties om de uitvoer te manipuleren, maar een klein aantal daarvan is praktisch bruikbaar voor dagelijks gebruik.

Lees ook: alles wat u moet weten over processen in Linux [uitgebreide handleiding]

In dit artikel bekijken we 30 nuttige voorbeelden van ps-opdrachten voor het monitoren van actieve lopende processen op een Linux-systeem.

Merk op dat ps uitvoer produceert met een kopregel, die de betekenis van elke kolom met informatie weergeeft. Je kunt de betekenis van alle labels vinden op de ps man-pagina.

Maak een lijst van alle processen in de huidige shell

1. Als u de ps-opdracht zonder argumenten uitvoert, worden processen voor de huidige shell weergegeven.

ps 

Druk alle processen in verschillende formaten af

2. Geef elk actief proces op een Linux-systeem weer in generiek (Unix/Linux) formaat.

ps -A
OR
ps -e

3. Geef alle processen weer in BSD-formaat.

ps au
OR
ps axu

4. Om een volledige weergave uit te voeren, voegt u de vlag -f of -F toe.

ps -ef
OR
ps -eF

Toon door de gebruiker lopende processen

5. U kunt alle processen selecteren die uw eigendom zijn (uitvoerder van het ps-commando, root in dit geval), typ:

ps -x 

6. Om de processen van een gebruiker weer te geven op echte gebruikers-ID (RUID) of naam, gebruikt u de vlag -U.

ps -fU tecmint
OR
ps -fu 1000

7. Om de processen van een gebruiker te selecteren op effectieve gebruikers-ID (EUID) of naam, gebruikt u de optie -u .

ps -fu tecmint
OR
ps -fu 1000

Druk alle processen af die als root worden uitgevoerd (echte en effectieve ID)

8. Met de onderstaande opdracht kunt u elk proces bekijken dat wordt uitgevoerd met root gebruikersrechten (echte en effectieve ID) in gebruikersformaat.

ps -U root -u root 

Groepsprocessen weergeven

9. Als u alle processen wilt weergeven die eigendom zijn van een bepaalde groep (echte groeps-ID (RGID) of naam), typt u.

ps -fG apache
OR
ps -fG 48

10. Om alle processen weer te geven die eigendom zijn van de effectieve groepsnaam (of sessie), typt u.

ps -fg apache

Weergaveprocessen per PID en PPID

11. U kunt processen als volgt weergeven op PID.

ps -fp 1178

12. Als u een proces wilt selecteren op PPID, typt u.

ps -f --ppid 1154

13. Maak een selectie met behulp van een PID-lijst.

ps -fp 2226,1154,1146

Weergaveprocessen per TTY

14. Om processen op tty te selecteren, gebruikt u de vlag -t als volgt.


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

Afdrukprocesboom

15. Een procesboom laat zien hoe processen op het systeem aan elkaar zijn gekoppeld; processen waarvan de ouders zijn gedood, worden overgenomen door de init (of systemd).

ps -e --forest 

16. U kunt op deze manier ook een procesboom voor een bepaald proces afdrukken.

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

Afdrukprocesthreads

17. Om alle threads van een proces af te drukken, gebruikt u de vlag -L. Dit toont de LWP (lichtgewicht proces) en de kolommen NLWP (het aantal lichtgewicht processen).

ps -fL -C httpd

Geef een aangepast uitvoerformaat op

Met behulp van de opties -o of –format kunt u met ps door de gebruiker gedefinieerde uitvoerformaten bouwen, zoals hieronder weergegeven.

18. Om alle formaatspecificaties weer te geven, voegt u de vlag L toe.

ps L

19. Met het onderstaande commando kunt u de PID, PPID, gebruikersnaam en opdracht van een proces bekijken.

ps -eo pid,ppid,user,cmd

20. Hieronder ziet u nog een voorbeeld van een aangepast uitvoerformaat waarin de bestandssysteemgroep, de mooie waarde, de starttijd en de verstreken tijd van een proces worden weergegeven.

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

21. Om een procesnaam te vinden met behulp van de PID.

ps -p 1154 -o comm=

Geef ouder- en kindprocessen weer

22. Om een specifiek proces op naam te selecteren, gebruikt u de vlag -C. Hierdoor worden ook alle onderliggende processen weergegeven.

ps -C sshd

23. Vind alle PID's van alle instanties van een proces, handig bij het schrijven van scripts die PID's uit een std-uitvoer of bestand moeten lezen.

ps -C httpd -o pid=

24. Controleer de uitvoeringstijd van een proces.

ps -eo comm,etime,user | grep httpd

De onderstaande uitvoer laat zien dat de HTTPD-service 1 uur, 48 minuten en 17 seconden actief is.

Problemen met Linux-systeemprestaties oplossen

Als uw systeem niet naar behoren werkt, bijvoorbeeld als het ongewoon traag is, kunt u als volgt systeemproblemen oplossen.

26. Vind de best lopende processen op basis van het hoogste geheugen- en CPU-gebruik in Linux.

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

27. Om Linux-processen/niet-reagerende applicaties of elk proces dat veel CPU-tijd in beslag neemt, te beëindigen.

Zoek eerst de PID van het niet-reagerende proces of de applicatie.

ps -A | grep -i stress

Gebruik vervolgens het kill-commando om het onmiddellijk te beëindigen.

kill -9 2583 2584

Beveiligingsinformatie afdrukken

28. Toon beveiligingscontext (specifiek voor SELinux) zoals deze.

ps -eM
OR
ps --context

29. Met deze opdracht kunt u ook beveiligingsinformatie weergeven in een door de gebruiker gedefinieerd formaat.

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

Voer realtime procesbewaking uit met behulp van Watch Utility

30. Tenslotte, aangezien ps statische informatie weergeeft, kunt u het watch-hulpprogramma gebruiken om real-time procesmonitoring uit te voeren met herhaalde uitvoer, die na elke seconde wordt weergegeven, zoals in de onderstaande opdracht (geef een aangepast ps-commando op om uw doel te bereiken).

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

Belangrijk: ps toont alleen statische informatie. Om regelmatig bijgewerkte uitvoer te bekijken kun je tools gebruiken zoals htop; top, en een blik: de laatste twee zijn in feite Linux-tools voor het monitoren van systeemprestaties.

Misschien wilt u ook de volgende gerelateerde artikelen lezen.

  1. Hoe u een procesnaam kunt vinden met behulp van het PID-nummer in Linux
  2. Vind de best lopende processen op basis van het hoogste geheugen- en CPU-gebruik in Linux
  3. Een gids voor Kill-, Pkill- en Killall-opdrachten om een proces in Linux te beëindigen
  4. Hoe u lopende processen in Linux kunt vinden en beëindigen
  5. Hoe Linux Command op de achtergrond te starten en het proces in Terminal te ontkoppelen

Dat is het voor nu. Als je nuttige voorbeelden van ps-commando's hebt om te delen (en niet te vergeten uit te leggen wat het doet), gebruik dan het onderstaande reactieformulier.