ps Overzicht
`ps`-commando is een 'momentopname'-tool die procesinformatie op een bepaald tijdstip toont. Het geeft geen real-time updates zoals `top` of `htop`, maar geeft alleen de informatie weer op het moment dat het commando wordt uitgevoerd. Dit is nuttig om te begrijpen welke taken er momenteel op het systeem worden uitgevoerd.
Belangrijkste functies van ps
`ps`-commando wordt voornamelijk gebruikt voor de volgende doeleinden:
Belangrijke toepassingsgebieden
- Actieve processen controleren: Controleert welke programma's of diensten momenteel op het systeem draaien.
- Proces-ID (PID) vinden: Vindt de PID van een specifiek proces om het te beëindigen of te beheren.
- Processtatus controleren: Controleert of een proces actief, wachtend of in de zombie-status is.
- CPU- en geheugengebruik controleren: Geeft een kort overzicht van de hulpbronnen die door elk proces worden gebruikt.
- Scriptdebugging: Controleert de status van scripts of programma's die op de achtergrond draaien.
Begrijpen van ps-uitvoervelden
`ps`-commando geeft doorgaans de volgende informatie weer:
Belangrijke uitvoervelden
- **PID**: Proces-ID. Een unieke identificator voor elk proces.
- **TTY**: De terminal (tty) waarop het proces draait. `?` betekent dat het proces niet is verbonden met een terminal (daemon).
- **TIME**: De totale CPU-tijd die door het proces is gebruikt.
- **CMD**: Het commando dat is gebruikt om het proces te starten.
- **STAT**: De huidige statuscode van het proces (bijv. `R` - actief, `S` - slapend, `Z` - zombie, `D` - niet-interruptible slapend, `T` - gestopt, `<` - hoge prioriteit, `N` - lage prioriteit, `s` - sessieleider, `l` - multithreading, `+` - behoort tot een foreground procesgroep).
- **USER**: De gebruikersnaam die het proces heeft gestart.
- **%CPU**: De CPU-gebruikpercentage dat door het proces wordt gebruikt.
- **%MEM**: Het percentage fysieke geheugen (RAM) dat door het proces wordt gebruikt.
- **VSZ (Virtuele Geheugengrootte)**: De totale hoeveelheid virtueel geheugen die door het proces wordt gebruikt.
- **RSS (Resident Set Size)**: De hoeveelheid fysieke geheugen (RAM) die daadwerkelijk door het proces wordt gebruikt.
Belangrijke ps-commando-opties
`ps`-commando biedt een breed scala aan opties, die voornamelijk zijn onderverdeeld in drie stijlen: Unix-stijl, BSD-stijl en GNU-stijl. Hier behandelen we de meest voorkomende opties.
1. Processelectie-opties (BSD/Unix-stijl)
2. Opmaakopties
3. Procesboom en threads
Gegenereerde opdracht:
Probeer de opdrachtcombinaties.
Uitleg:
`ps` Voer het commando uit.
Combineer deze opties en voer de opdracht virtueel uit met de AI.
Voorbeeldgebruik
Leer hoe u effectief de processtatus van het systeem kunt opvragen en analyseren door verschillende voorbeelden van gebruik van het `ps`-commando.
Alle processen van de huidige terminal bekijken
ps
Geeft een eenvoudige lijst van processen weer die momenteel draaien in de ingelogde terminal (shell).
Gedetailleerde informatie over alle gebruikersprocessen bekijken
ps aux
Geeft gedetailleerde informatie weer over de processen van alle gebruikers (a), inclusief die niet met een terminal zijn verbonden (x). Dit is de meest gebruikte combinatie.
Alle processen in boomvorm bekijken
ps -ef
Geeft alle processen weer in een visuele boomstructuur van ouder-kindrelaties. Dit is nuttig om de processtructuur van het systeem te begrijpen.
Informatie over een specifiek proces (bijv. Nginx) bekijken
ps aux | grep nginx
Filtert processen die de string `nginx` bevatten uit de resultaten van `ps aux`. Dit is nuttig om de status van het Nginx-serverproces te controleren.
Top 10 processen met het hoogste CPU-gebruik bekijken
ps aux --sort -%cpu | head -n 10
Geeft alleen de top 10 processen weer, gesorteerd op CPU-gebruik in aflopende volgorde. Dit is nuttig om processen te vinden die veel systeemresources verbruiken.
Alleen specifieke kolommen weergeven
ps -eo pid,user,%cpu,%mem,cmd
Geeft alleen de PID, gebruikersnaam, CPU-gebruik, geheugengebruik en het commando weer. Dit is nuttig om alleen de benodigde informatie beknopt te bekijken.
Zombie-processen vinden
ps aux | grep 'Z'
Zoekt naar zombie-processen met de status (STAT) 'Z' om de oorzaak van systeemresourceverspilling te diagnosticeren.