draaiende processen bekijken op Linux

Alles wat op een Linux systeem draait, van een gebruikersapplicatie tot een systeemdienst, is zijn eigen afzonderlijke proces. Zelfs als je computer op een leeg terminal scherm zit, zijn er ongetwijfeld een heleboel processen die op de achtergrond draaien. Er zijn verschillende Linux hulpmiddelen die we kunnen gebruiken om alle processen op ons systeem te identificeren, en dat is wat we in deze gids behandelen.

Als je weet hoe je naar lopende processen kunt zoeken, kun je nagaan of er iets draait, het zo nodig beëindigen, en de invloed ervan op de hulpbronnen van je systeem (CPU en RAM) in de gaten houden.

Processen opnoemen met het ps commando

Het ps commando kan met de -e optie een lijst maken van alle processen die op een Linux systeem draaien.

ps -e

Geef processen weer met ps commando

Het is normaal dat een systeem op elk willekeurig moment een groot aantal processen heeft draaien, dus is het gemakkelijker om door deze lijst te ziften door het commando aan meer te pipen. Bijvoorbeeld, om 15 regels tegelijk te zien:

ps -e | more -15

De uitvoer van ps toont ons elk draaiend proces, zijn respectieve proces ID (afgekort als PID), en de TTY (terminal interface waar het proces op draait). Een vraagteken in de TTY kolom betekent dat het proces aan geen enkele terminal interface verbonden is – het draait gewoon op de achtergrond.

Het kan nodig zijn het PID van een proces te kennen om het te doden, of de TTY zodat je naar het open proces kunt terugkeren door opnieuw aan het juiste terminal venster vast te maken.

Een andere nuttige optie bij ps is de -aux optie.

ps -aux

Net als de vorige optie geeft deze een lijst van elk proces dat op je systeem draait. Maar het vermeldt ook het huidige CPU en RAM gebruik van elk proces, en het commando dat elk proces spawnde.

Maak een lijst van 15 processen met meer commando's

Een proces vinden met pgrep

Het pgrep commad combineert als het ware ps en grep voor ons. We kunnen de naam – of een deel van een naam – van een proces dat we zoeken opgeven, en pgrep zal de respectieve proces ID’s teruggeven.

Om bijvoorbeeld elk SSH gerelateerd proces op je systeem te zoeken, zou je typen:

pgrep ssh

Linux pgrep commando

Zoals in de schermafdruk hierboven te zien is, heeft pgrep een SSH proces gevonden met een PID van 1143. Voor verdere verificatie controleren we het met het ps commando:

ps -e | grep 1143

Zoek ssh proces met pgrep

Lopende processen bekijken met top

Het top hulpprogramma is natuurlijk een command-line hulpmiddel, maar het geeft een interactieve uitvoer van alle momenteel draaiende processen, waarbij de informatie getoond wordt zoals je die in een grafische interface zou verwachten. Het is gemakkelijk om te beginnen, typ gewoon top:

top

Linux top commando

De uitvoer van top geeft ons een heleboel informatie, waaronder het totale CPU en RAM gebruik op ons systeem. Maar we zijn hier voor de lijst van processen, die je direct daaronder vindt.

Het terminal venster is gewoon niet groot genoeg om top toe te staanelk lopend proces op te sommen, dus toont top er zoveel als het kan en rangschikt ze naar gebruik van systeembronnen. Met andere woorden, de processen die de meeste CPU en RAM gebruiken staan bovenaan. Minder veeleisende processen verschijnen lager in de lijst, mogelijk afgesneden van het terminal venster.

Gebruik depijltjestoetsen op je toetsenbord om op en neer door de lijst met processen te scrollen.

Er staat nogal wat informatie over elk draaiend proces vermeld. Hier is een korte opsomming van wat deze verschillende kolommen betekenen:

  • PID: Het proces ID van elke taak.
  • PR: De planningsprioriteit van een taak.
  • NI: De aardige waarde van een taak. Negatieve getallen geven een hogere prioriteit aan.
  • VIRT: De hoeveelheid virtueel geheugen die gebruikt wordt.
  • RES: De hoeveelheid resident geheugen die gebruikt wordt.
  • SHR: De hoeveelheid gedeeld geheugen die gebruikt wordt.
  • S: De status van een taak (R=lopend, S=slaapend).
  • %CPU: Huidig CPU percentage dat door een taak gebruikt wordt.
  • %MEM: Huidig RAM percentage dat door een taak gebruikt wordt.
  • TIJD+: De CPU tijd van een taak.
  • COMMANDO: Het commando dat gebruikt werd om de taak te spawnen.

Zoals gezegd is top interactief, dus kunnen we enkele sneltoetsen gebruiken om er een paar leuke dingen mee te doen. We overlopen hieronder een paar van de handigere.

Druk op dez toets om lopende processen een kleurcode te geven. Dit maakt het gemakkelijker om lopende taken te onderscheiden van slapende of zombie processen.

Zoek lopende processen

Druk op dec toets om het volledige commando te krijgen dat voor elke taak gebruikt wordt. Dit toont het absolute pad, samen met eventueel gebruikte opties.

Toon volledige procescommando's

Druk op dek toets om een lopend proces te doden, direct vanuit het bovenste hulpmiddel. Dit bespaart een beetje tijd van het hulpprogramma te moeten verlaten en een apart kill commando te geven. Je hoeft alleen maar de PID in te typen van het proces dat je wilt beëindigen:

Dood processen met top commando

Druk op der toets om de prioriteit van een proces te veranderen met renice. Voer de PID in van het proces dat je wilt renice:

Veranderingsproces prioriteit

Voor meer opties druk je op deh(help) toets om alles te zien wat top nog meer kan.

Als je klaar bent met het hulpprogramma top, kun je het hulpprogramma verlaten en terugkeren naar de terminal door opq te drukken.

Lopende processen bekijken met htop

Het htop hulpprogramma bouwt voort op top en is iets gebruiksvriendelijker en plezieriger om naar te kijken. Het enige nadeel is dat het niet standaard op alle Linux distributies geïnstalleerd is, dus het kan zijn dat je het eerst moet installeren. Het zou in de repositories van je besturingssysteem moeten zitten, dus hier is hoe je het met je pakketbeheerder installeert:

Debian en Ubuntu:

sudo apt-get install htop

CentOS en Fedora:

dnf install htop

Red Hat:

yum install htop

Eenmaal geïnstalleerd typ je gewoon htop om het hulpprogramma te starten.

htop

Bekijk processen met htop

Je kunt je muis gebruiken om met htop te werken, en de verschillende toetsenbord-commando’s staan onderaan in het terminal venster. Het werkt grotendeels hetzelfde als top, maar met een schonere interface die gemakkelijker te begrijpen is.

Conclusie

In deze gids hebben we je een paar verschillende methoden getoond om de draaiende processen op een Linux systeem te bekijken. Welke je gebruikt hangt af van de situatie bij de hand en je persoonlijke voorkeur, maar elke methode heeft zijn eigen voordelen.

Met wat je in deze gids geleerd hebt kun je alle lopende processen op je systeem identificeren, hun invloed op de systeembronnen, en je de mogelijkheid geven de taken naar eigen inzicht te beëindigen of te herprioriteren.