In op Linux en Unix gebaseerde besturingssystemen staat een instantie van een actieve opdracht bekend als een proces. U kunt elk proces identificeren aan de hand van een unieke proces-ID. Linux biedt opdrachtregelprogramma's om deze processen efficiënt weer te geven, te beheren en te bewaken.

U kunt deze hulpprogramma's gebruiken om prioriteit te geven aan elk proces of ze op de achtergrond of op de voorgrond plaatsen om systeembronnen efficiënt te beheren.

Deze gids voor procesbeheer in Linux bevat tools zoals ps, kill, renice en andere commando's die systeembeheerders helpen bij het beheren en weergeven van processen.

Lijstprocessen met het ps-commando

Het oudste en meest gebruikte opdrachtregelprogramma om de momenteel lopende processen op Linux weer te geven, is: ps. Ondanks dat het hoogste commando is een andere interactieve en schermgeoriënteerde manier om systeemprocessen te beheren en weer te geven, ps geeft ook aanvullende informatie weer, zoals de bronnen die elk proces verbruikt.

instagram viewer

Vanwege een omgeving met meerdere gebruikers is elk proces in Linux gekoppeld aan een afzonderlijk gebruikers- en groepsaccount. Daarom helpt accountinformatie met procesdetails u toegang te krijgen tot de systeembronnen die een proces kan gebruiken.

Processen die bijvoorbeeld met superuser-privileges worden uitgevoerd, hebben toegang tot meer systeembronnen dan een gewone gebruiker, en dit is waar ps systeembeheerders helpt.

De volgende uitvoer is een voorbeeld van een lijst van processen met gebruikersnamen, de verstreken tijd en het bijbehorende geheugen- en CPU-verbruik:

U kunt ook de STAT-kolom noteren die de status van het lopende proces weergeeft. R staat voor het proces dat momenteel wordt uitgevoerd, en S is een slapend proces met een plusteken dat voorgrondbewerkingen aangeeft.

U kunt als volgt alle processen van de huidige gebruiker weergeven:

ps ux | minder

Om processen voor alle gebruikers weer te geven:

ps aux | minder

Processen beheren met System Monitor

System Monitor biedt een grafische manier om processen weer te geven en te beheren. Om Systeemmonitor te starten, gaat u naar Toepassingen > Systeemmonitor. Schakel over naar de Processen tabblad om alle lopende processen te bekijken.

Standaard worden de processen voor de huidige gebruiker in alfabetische volgorde weergegeven. U kunt de proceslijst opnieuw sorteren door op een kolomkop te klikken. Bovendien kunt u klikken op de %CPU en Geheugen kopjes om processen te bekijken die meer verwerkingskracht en geheugen verbruiken.

Met System Monitor kunt u processen op verschillende manieren beheren, wat betekent dat u de procesprioriteit kunt stoppen, beëindigen, voortzetten, beëindigen en wijzigen door simpelweg met de rechtermuisknop op een procesnaam te klikken.

Het is de beste tool voor beginnende Linux-gebruikers die niet weten hoe ze met opdrachtregelhulpprogramma's moeten werken.

Verwant: Het resultaat van topprocessen weergeven en sorteren op geheugen

Werken met achtergrond-/voorgrondprocessen

Er komt een moment dat je via een netwerk toegang moet krijgen tot een Linux-systeem met alleen een opdrachtregel. Dit beperkt het effectieve beheer van meerdere actieve programma's. Maar met een shell kun je programma's beheren door ze naar achtergrond en voorgrond te schakelen.

Een achtergrondproces starten

Om een ​​programma te starten terwijl u in de shell werkt, voert u het commando uit, stopt u het en plaatst u het op de achtergrond met Ctrl + Z. Om een ​​programma direct op de achtergrond uit te voeren, voegt u als volgt een ampersand (&) toe aan het einde van de opdracht:

zoek /usr > /tmp/allusrfiles &

Noteer het jobnummer en de proces-ID. Houd er rekening mee dat u geen opdrachten kunt uitvoeren waarvoor terminalinvoer op de achtergrond vereist is.

U kunt de banen commando om alle programma's/commando's die op de achtergrond worden uitgevoerd of degene die u hebt gestopt weer te geven (met Ctrl + Z).

banen

Hoe voorgrond- en achtergrondprocessen te hervatten

Om door te gaan met een taak die u op de achtergrond hebt gezet, gebruikt u de fg commando, en het zal het commando naar de voorgrond brengen.

fg %

Evenzo, als u stopte met het uitvoeren van een opdracht op de achtergrond, kunt u deze als volgt opnieuw op de achtergrond starten met behulp van de bg-opdracht:

bg %

Processen doden op Linux

Net zoals u met een grafische tool zoals System Monitor een proces kunt beëindigen, stoppen en voortzetten, kunt u ook opdrachtregelprogramma's gebruiken zoals doden en killall om een ​​signaal te sturen naar een lopend proces.

Afgezien van het simpelweg doden van een proces, helpt het kill-commando ook bij het verzenden van verschillende signalen om procesgedrag te beheren.

U kunt namen of nummers gebruiken om een ​​signaal te gebruiken.

kill -signaalnummer 
kill -signaalnaam

De volgende opdrachten sturen bijvoorbeeld het SIGKILL-signaal naar een proces met de PID 1987:

doden -9 1987
doden -SIGKILL 1987

De meest gebruikte processignalen zijn:

Optie Beschrijving
SIGKILL (9) Doodt het proces onmiddellijk
SIGTERM (15) Beëindigt het proces
SIGSTOP (19/28/25) Stopt het proces
SIGCONT (19/28/25) Zet het proces voort nadat het is gestopt
INSCHRIJVEN (1) Vertelt het proces om zijn configuratiebestand te lezen

Merk op dat verschillende processen verschillend reageren op deze signalen, maar ze kunnen SIGSTOP- en SIGKILL-signalen niet stoppen. Typ de volgende opdracht om meer over deze signalen te lezen:

man 7 signaal

Leer meer: Niet-reagerende processen in Linux beëindigen met kill en pkill

Processen afzien op Linux

De Linux-kernel geeft prioriteit aan lopende processen en wijst systeembronnen toe door rekening te houden met gebruikersaccountprivileges. De kernel houdt ook rekening met een andere factor, namelijk de "leuke" waarde van elk lopend proces.

De standaardwaarde van een proces is nul, maar u kunt het bereik tussen -20 en 19 instellen. Enkele feiten over het instellen procesprioriteit met nice en renice waarden zijn:

  • Een proces met een lage mooie waarde heeft meer toegang tot de CPU-bronnen
  • Een gewone gebruiker kan zijn processen alleen opnieuw prioriteren
  • Een gewone gebruiker kan alleen waarden instellen tussen -20 en 19, en kan alleen een hogere waarde instellen
  • Een superuser kan ieders processen op elke waarde instellen, hoog of laag

Procesbeheer op Linux gemakkelijk gemaakt

Een omgeving met meerdere gebruikers heeft verschillende processen die voldoende kennis van systeemresourcebeheer vereisen om knelpunten en systeembeperkingen te voorkomen. Een deel van de taak omvat het beheren van processen door ze op de achtergrond/voorgrond uit te voeren, ze te doden of te verwijderen.

Je kunt ook meer te weten komen over het beste commandohulpprogramma om processen weer te geven en te sorteren en om niet-reagerende processen op Linux te beëindigen.

7 manieren om niet-reagerende programma's in Linux te doden

Wanneer een Linux-app niet meer reageert en crasht, hoe kun je hem dan doden? Probeer een van deze trucs om een ​​programma in Linux geforceerd te stoppen.

Lees volgende

DelenTweetenE-mail
Gerelateerde onderwerpen
  • Linux
  • Computerprocessor
  • Linux-opdrachten
  • Linux Elementair
Over de auteur
Rumaisa Niazi (13 artikelen gepubliceerd)

Rumaisa is freelance schrijver bij MUO. Ze heeft veel hoeden gedragen, van wiskundige tot liefhebber van informatiebeveiliging, en werkt nu als SOC-analist. Haar interesses omvatten lezen en schrijven over nieuwe technologieën, Linux-distributies en alles wat met informatiebeveiliging te maken heeft.

Meer van Rumaisa Niazi

Abonneer op onze nieuwsbrief

Word lid van onze nieuwsbrief voor technische tips, recensies, gratis e-boeken en exclusieve deals!

Klik hier om je te abonneren