Procesmanagement

Processen beheren in Ubuntu Linux

Processen beheren in Ubuntu Linux
Het beheren van processen in Linux is een belangrijk onderwerp om te leren en te begrijpen, aangezien het een multitasking-besturingssysteem is en er veel processen tegelijkertijd lopen. Linux biedt veel tools voor het beheren van processen, zoals het weergeven van lopende processen, het doden van processen, het bewaken van het systeemgebruik, enz. In Linux wordt elk proces vertegenwoordigd door zijn Process ID (PID). Er zijn enkele andere kenmerken aan het proces, zoals gebruikers-ID en groeps-ID als een gebruiker of groep het proces uitvoert runs. Soms moet u een proces uitschakelen of ermee communiceren, dus u moet weten hoe u deze processen moet beheren om uw systeem soepel te laten werken. In Linux kunnen processen worden beheerd met opdrachten als: ps, pstree, pgrep, pkill, lsof, top, nice, renice en kill, enz.

Processen

Het uitvoeren van een instantie van een programma wordt een proces genoemd. In Linux wordt proces-ID (PID) gebruikt om een ​​proces weer te geven dat onderscheidend is voor elk proces. Er zijn twee soorten processen:,

Achtergrondprocessen

Achtergrondprocessen starten in de terminal en lopen vanzelf. Als u een proces in de terminal uitvoert, wordt de uitvoer ervan weergegeven in een terminalvenster en kunt u ermee communiceren, maar als u geen interactie met het proces nodig hebt, kunt u het op de achtergrond uitvoeren. Als u een proces op de achtergrond wilt uitvoeren, voegt u gewoon een "&"-teken toe aan het einde van de opdracht en het begint op de achtergrond te draaien; het bespaart u tijd en u kunt een ander proces starten. Gebruik voor het weergeven van processen die op de achtergrond worden uitgevoerd het commando 'jobs'.' Het toont alle lopende processen op de achtergrond.

Upgraden is bijvoorbeeld een lang proces in Linux. Het kost te veel tijd, en als je andere dingen wilt doen terwijl het systeem aan het upgraden is, gebruik dan het background commando.

[e-mail beveiligd]:~$ sudo apt-get upgrade -y &

Het begint op de achtergrond te draaien. En u kunt ondertussen communiceren met andere programma's. U kunt controleren hoeveel en welke processen op de achtergrond worden uitgevoerd door deze opdracht te typen.

[e-mail beveiligd]:~$ banen
[1]+ Sudo apt-get upgrade -y & uitvoeren

voorgrondprocessen

Alle processen die we in de terminal uitvoeren, worden standaard uitgevoerd als voorgrondprocessen. We kunnen ze beheren door voorgrond- en achtergrondcommando's.

U kunt elk achtergrondproces dat in jobs wordt vermeld naar de voorgrond brengen door het 'fg'-commando te typen gevolgd door het achtergrondprocesnummer.

[e-mail beveiligd]:~$ fg %1
sudo apt-get upgrade -y

En als u dit proces naar de achtergrond wilt brengen, typt u deze opdracht.

[e-mail beveiligd]:~$ bg %1

Processen weergeven en beheren met de opdracht ps

Het lijstproces met het ps-commando is een van de oudste manieren om de lopende terminalprocessen te bekijken. Typ de opdracht ps om te zien welke processen worden uitgevoerd en hoeveel systeembronnen ze gebruiken en wie ze uitvoert.

[e-mail beveiligd]:~$ ps u
GEBRUIKER PID %CPU %MEM VSZ RSS TTY STAT START TIJD COMMANDO
Jim 1562 0.0 0.0 164356 6476 tty2 Ssl+ 13:07 0:00 shell
Jim 1564 5.2 0.9 881840 78704 tty2 Sl+ 3:07 13:13 dauth
Jim 2919 0.0 0.0 11328 4660 pts/0 Ss 13:08 0:00 bash
Jim 15604 0.0 0.0 11836 3412 pt/0 R+ 17:19 0:00 ps u
... knip ..

De gebruikerskolom toont de gebruikersnaam in de bovenstaande tabel en PID toont de proces-id. U kunt de PID gebruiken om te doden of het kill-signaal naar een proces te sturen. %CPU toont CPU-percentage processor en %MEM toont geheugengebruik met willekeurige toegang. Typ a om een ​​proces te beëindigen.

[e-mail beveiligd]:~$ kill [proces-ID (PID)]

of

[email protected]:~$ kill -9 [proces-ID (PID)]

Gebruik het ps aux commando om alle lopende processen te zien en voeg een pipe toe om het in volgorde te zien.

[e-mail beveiligd]:~$ ps aux | minder

Als u de kolommen opnieuw wilt rangschikken, kunt u dit doen door een vlag toe te voegen -e voor het opsommen van alle processen en -O voor het aangeven van de kolommen met trefwoorden in het ps-commando.

[email protected]:~$ps -eo pid,user,uid,%cpu,%mem,vsz,rss,comm
PID GEBRUIKER UID %CPU %MEM VSZ RSS-COMMANDO
1 wortel 0 0.1 0.1 167848 11684 gesystematiseerd
3032 jim 1000 16.5 4.7 21744776 386524 chroom
... knip ..

Opties voor ps-opdracht.

u optie wordt gebruikt voor het weergeven van de processen door de gebruikers.

[e-mail beveiligd]:~$ ps u

f optie wordt gebruikt om de volledige lijst weer te geven.

[e-mail beveiligd]:~$ ps f

x optie wordt gebruikt om informatie over het proces weer te geven zonder een terminal.

[e-mail beveiligd]:~$ ps x

e optie wordt gebruikt om uitgebreide informatie weer te geven.

[e-mail beveiligd]:~$ ps e

een optie wordt gebruikt om alle processen op te sommen met de terminal.

[e-mail beveiligd]:~$ ps a

v optie wordt gebruikt om het virtuele geheugenformaat weer te geven.

[e-mail beveiligd]:~$ ps v

Vlaggen voor ps-opdracht.

-e vlag wordt gebruikt om elk proces op het systeem te zien.

[e-mail beveiligd]:~$ ps -e

-u vlag wordt gebruikt om processen te zien die als root worden uitgevoerd.

[e-mail beveiligd]:~$ ps -u

-f vlag wordt gebruikt voor een volledige lijst van processen of.

[e-mail beveiligd]:~$ ps -f

-o vlag wordt gebruikt om de processen in de gewenste kolom weer te geven.

[e-mail beveiligd]:~$ ps -o
pstree

pstree is een ander commando om de processen op te sommen; het toont de uitvoer in een boomstructuur.

[e-mail beveiligd]:~$ pstree

Opties voor het pstree-commando

-nee wordt gebruikt voor sorteerprocessen door PID.

[e-mail beveiligd]:~$ pstree -n

-H wordt gebruikt voor het markeren van processen.

[e-mail beveiligd]:~$ pstree -H [PID]
[e-mail beveiligd]:~$ pstree -H 6457

-een wordt gebruikt voor het tonen van uitvoer, inclusief opdrachtregelargumenten.

[e-mail beveiligd]:~$ pstree -a

-g wordt gebruikt voor het weergeven van processen op groeps-ID.

[e-mail beveiligd]:~$ pstree -g

-zo wordt gebruikt voor het zaaien van de boom of een specifiek proces.

[e-mail beveiligd]:~$ pstree -s [PID]
[e-mail beveiligd]:~$ pstree -s 6457

[gebruikersnaam] wordt gebruikt voor het weergeven van processen die eigendom zijn van een gebruiker.

[e-mail beveiligd]:~$ pstree [gebruikersnaam]
[e-mail beveiligd]:~$ pstree jim
pgrep

Met het pgrep-commando kun je een lopend proces vinden op basis van bepaalde criteria. U kunt de volledige naam of afkorting van het proces gebruiken om te zoeken of op gebruikersnaam of andere attributen. pgrep-opdracht volgt het volgende patroon:.

[e-mail beveiligd]:~$ Pgrep [optie] [patroon]
[e-mail beveiligd]:~$ pgrep -u jim chrome
Opties voor pgrep-opdracht

-ik wordt gebruikt om hoofdletterongevoelig te zoeken

[e-mail beveiligd]:~$ Pgrep -i firefox

-d wordt gebruikt voor het afbakenen van de output

[email protected]:~$ Pgrep -u jim -d:

-jij wordt gebruikt voor het vinden van een proces dat eigendom is van een gebruiker

[e-mail beveiligd]:~$ Pgrep -u jim

-een wordt gebruikt voor het weergeven van processen naast hun opdrachten

[e-mail beveiligd]:~$ Pgrep -u jim -a

-c wordt gebruikt om het aantal overeenkomende processen weer te geven

[e-mail beveiligd]:~$ Pgrep -c -u jim

-ik wordt gebruikt voor het weergeven van processen en hun naam

[e-mail beveiligd]:~$ Pgrep -u jim -l
pkill

Met het pkill-commando kun je een signaal sturen naar een lopend proces op basis van bepaalde criteria. U kunt de volledige naam of afkorting van het proces gebruiken om te zoeken of op gebruikersnaam of andere attributen. pgrep-opdracht volgt het volgende patroon:.

[e-mail beveiligd]:~$ Pkill [Opties] [Patronen]
[e-mail beveiligd]:~$ Pkill -9 chrome
Opties voor pkill-opdracht

-signaal wordt gebruikt voor het verzenden van een signaal e.g. SIGKILL, SIGTERM, enz.

[e-mail beveiligd]:~$ Pkill --signaal SIGTERM vscode

-HUP wordt gebruikt voor het herladen van een proces

[e-mail beveiligd]:~$ Pkill -HUP syslogd

-f wordt gebruikt voor het doden van processen op basis van de volledige opdrachtregel.

[e-mail beveiligd]:~$ Pkill -f "ping 7".7.7.7”

-jij wordt gebruikt voor het doden van alle processen die eigendom zijn van een gebruiker.

[e-mail beveiligd]:~$ Pkill -u jim

-ik wordt gebruikt voor hoofdletterongevoelig doden van het proces door pkill.

[e-mail beveiligd]:~$ Pkill -i firefox

-9 wordt gebruikt voor het verzenden van een kill-signaal.

[e-mail beveiligd]:~$ Pkill -9 chrome

-15 wordt gebruikt voor het verzenden van een beëindigingssignaal.

[email protected]:~$ Pkill -15 vlc
lsof (Lijst met geopende bestanden)

Dit opdrachtregelprogramma wordt gebruikt voor het weergeven van bestanden die door verschillende processen zijn geopend. En zoals we weten, herkennen alle UNIX/Linux-systemen alles als een bestand, dus het is handig om de opdracht lsof te gebruiken om alle geopende bestanden weer te geven.

[e-mail beveiligd]:~$ lsof

In de bovenstaande tabel van het lsof-commando staat FD voor bestandsbeschrijving, cwd staat voor de huidige werkmap, txt betekent tekstbestand, mem betekent bestanden met geheugentoewijzing, mmap betekent apparaten met geheugentoewijzing, REG staat voor een normaal bestand, DIR staat voor Directory, rtd betekent hoofdmap. Er zijn andere opties die u kunt gebruiken met de opdracht lsof.

Opties voor het lsof-commando.

-c wordt gebruikt voor de lijst van geopende bestanden op hun procesnaam.

[e-mail beveiligd]:~$ lsof -c chrome

-jij wordt gebruikt voor de lijst van open bestanden door een gebruiker.

[e-mail beveiligd]:~$ lsof -u jim

-ik wordt gebruikt voor de lijst van processen die op een poort worden uitgevoerd.

[e-mail beveiligd]:~$ lsof -i

+D wordt gebruikt voor de lijst van open bestanden onder een map.

[e-mail beveiligd]:~$ lsof +D /home/

-p wordt gebruikt voor de lijst van geopende bestanden door een proces.

[e-mail beveiligd]:~$ lsof -p 1342

Proces weergeven en beheren met topcommando

Met de opdracht top kunt u een realtime beeld weergeven van lopende systeemprocessen. Het toont de processen afhankelijk van het CPU-gebruik. U kunt de kolom volgens u sorteren. De opdracht top geeft ook wat informatie over uw systeem, zoals hoe lang het systeem actief is geweest of hoeveel gebruikers aan het systeem zijn gekoppeld en hoeveel processen worden uitgevoerd, hoeveel CPU en RAM wordt gebruikt, en een lijst van elk werkwijze.

Typ de opdracht bovenaan om de lopende processen weer te geven.

[e-mail beveiligd]:~$ top
Taken: 291 totaal, 1 rennen, 290 slapen, 0 gestopt, 0 zombie
%Cpu(s) : 2.3us, 0.3sy, 0.0ni, 97.0id, 0.3wa, 0.0hoi, 0.0si, 0.0st
MiB-geheugen: 7880.6 totaal, 1259.9 gratis, 3176 gebruikt, 3444.4 buff/cache
MiB-wissel: 2048.0 totaal, 2048.0 gratis, 0.0 gebruikt. 4091.8 beschikbaar Mem
PID GEBRUIKER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMANDO
3241 jim 20 0 20.7g 33512 10082 S 1.7 4.2 0:54.24 chroom
3327 jim 20 0 4698084 249156 86456 S 1.3 3.1 1:42.64 chroom
2920 jim 20 0 955400 410868 14372 S 1.0 5.1 7:51.04 chroom
3423 jim 20 0 4721584 198500 10106 S 1.0 2.5 0:49.00 chroom
3030 jim 20 0 458740 114044 66248 S 0.7 1.4 3:00.47 chroom
3937 jim 20 0 4610540 104908 72292 S 0.7 1.3 0:05.91 chroom
1603 jim 20 0 825608 67532 40416 S 0.3 0.8 3:13.52 Xorg
1756 jim 20 0 4154828 257056 10060 S 0.3 3.2 5:53.31 kabouters+
1898 jim 20 0 289096 29284 5668 S 0.3 0.4 1:06.28 fusuma
3027 jim 20 0 587580 14304 75960 S 0.3 1.8 9:43.59 chroom
3388 jim 20 0 4674192 156208 85032 S 0.3 1.9 0:13.91 chroom
3409 jim 20 0 4642180 140020 87304 S 0.3 1.7 0:15.36 chroom
3441 jim 20 0 16.5g 156396 89700 S 0.3 1.9 0:25.70 chroom
… .knip… .

U kunt ook enkele acties uitvoeren met het commando top om wijzigingen aan te brengen in lopende processen; hier is de onderstaande lijst.

Let op welk proces meer geheugen of CPU verbruikt. Die processen die meer geheugen verbruiken, kunnen worden gedood, en die processen die meer CPU verbruiken, kunnen worden verworpen om ze minder belangrijk te maken voor de processor.

Dood een proces bovenaan: druk op k en schrijf de proces-ID die u wilt doden. Typ vervolgens 15 of 9 om normaal of onmiddellijk te doden; je kunt een proces ook beëindigen met een kill- of killall-opdracht.

Renice een proces bovenaan: druk op r en schrijf de PID van het proces dat u wilt worden verworpen. U wordt gevraagd om de PID van het proces in te voeren en vervolgens de waarde van nicing die u aan dit proces wilt geven tussen -19 en 20 (-19 betekent het hoogste belang en 20 betekent het laagste belang).

Processen weergeven en beheren met System Monitor

Linux heeft een systeemmonitor-gnome om de lopende processen dynamischer weer te geven. Om de systeemmonitor te starten, drukt u op de Windows-toets en typt u de systeemmonitor, klikt u op het pictogram en ziet u de processen in kolommen. Door er met de rechtermuisknop op te klikken, kunt u het proces beëindigen, stoppen of herroepen.

De lopende processen worden weergegeven met gebruikersaccounts in alfabetische volgorde. U kunt de processen sorteren op veldkoppen zoals CPU, geheugen, enz., klik er gewoon op en ze worden gesorteerd; klik bijvoorbeeld op CPU om te zien welk proces de meeste CPU-kracht verbruikt. Om processen te beheren, klikt u er met de rechtermuisknop op en selecteert u de optie die u met het proces wilt doen. Selecteer de volgende opties om het proces te beheren:.

Een proces doden met kill en killall

kill, en killall-opdracht wordt gebruikt voor het doden/beëindigen van een lopend proces. Deze commando's kunnen ook worden gebruikt om een ​​geldig signaal naar een lopend proces te sturen, zoals een proces vertellen om configuratiebestanden voort te zetten, te beëindigen of opnieuw te lezen, enz. Signalen kunnen op beide manieren worden geschreven door nummers of door naam. Hieronder volgen enkele veelgebruikte signalen:.

Signaalnummer Beschrijving:

SIGHUP 1 Detecteert ophangsignaal op bedieningsterminal.
SIGINT 2 geïnterpreteerd vanaf het toetsenbord.
SIGQUIT 3 Sluit het toetsenbord af.
SIGILL 4 Illegale instructies.
SIGTRAP 5 Wordt gebruikt voor het traceren van een trape.
SIGABRT 6 wordt gebruikt voor het afbreken van het signaal van afbreken (3).
SIGKILL 9 Wordt gebruikt voor het verzenden van een kill-signaal.
SIGTERM 15 Wordt gebruikt voor het verzenden van een beëindigingssignaal.
SIGCONT 19,18,25 Wordt gebruikt om een ​​proces voort te zetten indien gestopt.
SIGSTOP 17,19,23 Wordt gebruikt voor het stoppen van processen.

Verschillende waarden van SIGCONT en SIGSTOP worden gebruikt in verschillende Unix/Linux-besturingssystemen. Voor gedetailleerde informatie over signalen type man 7 signaalterminal.

Kill-opdracht gebruiken voor het verzenden van signaal om te verwerken door PID.

Let op het proces waarnaar u een kill-signaal wilt sturen. Je kunt de proces-ID (PID) vinden met ps of topcommando.

PID GEBRUIKER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMANDO
7780 jim 20 0 12596 4364 3460 R 33.3 3.2 13:54:12 boven

Het bovenste proces verbruikt 33.3% van de CPU. Als je dit proces wilt beëindigen om CPU-gebruik te besparen, zijn hier enkele manieren om dit proces te beëindigen met het kill-commando:.

[e-mail beveiligd]:~$ kill 7780
[email protected]:~$ kill -15 7780 of $ kill -SIGTERM 7780
[email protected]:~$ kill -9 7780 of $ kill -SIGKILL 7780

Killall-opdracht gebruiken om signalen op naam naar een proces te sturen.

Met het commando killall hoef je niet te zoeken naar proces-ID; je kunt een kill-signaal naar een proces sturen op naam in plaats van proces-ID. Het kan ook meer processen doden dan je wilt als je niet voorzichtig bent, bijv.g., "killall chrome" zal alle chrome-processen doden, inclusief de processen die je niet wilt doden. Soms is het handig om processen met dezelfde naam te doden.

Net als het kill-commando, kun je de signalen op naam of op nummer typen in het killall-commando. Dood elk lopend proces met het commando killall; je hoeft alleen de naam en het signaal dat je wilt verzenden in te typen. e.g., stuur een kill-signaal proces firefox met behulp van de opdracht killall, schrijf de onderstaande opdracht:.

[e-mail beveiligd]:~$ killall -9 firefox

of

[email protected]:~$ killall SIGKILL chrome

De procesprioriteit wijzigen met nice and renice

Elk proces op je Linux-systeem heeft een uitstekende waarde en ligt tussen -19 en 20. Het besloot welk proces meer CPU-toegang in het systeem zou krijgen. Hoe lager de waarde van het mooie, hoe meer toegang een proces heeft tot het CPU-proces. Zoals -16 mooie waarden hebben meer toegang tot de CPU dan 18 mooie waarden. Alleen een gebruiker met root-privileges kan een negatieve waarde van nice toewijzen. Een normale gebruiker kan alleen de waarde "nice" tussen 0 en 19 . toewijzen. Een gewone gebruiker kan alleen hogere mooie waarden toekennen en op zijn eigen processen. Een rootgebruiker kan elke mooie waarde voor elk proces instellen.

Als u een proces toegankelijker wilt maken voor het CPU-gebruik door de nice-waarde toe te wijzen, typt u de volgende opdracht:.

[e-mail beveiligd]:~$ mooi +3 chrome

En renice het proces

[e-mail beveiligd]:~$ renice -n -6 3612

Conclusie

Hier is de gids voor het beheren van je Linux-systeem met ps, top, lsof, pstree, pkilll, kill, killall, nice, renice, enz. Sommige processen verbruiken het meeste CPU-gebruik en RAM; weten hoe u ze moet beheren, verhoogt de snelheid en prestaties van uw systeem en geeft u een betere omgeving om alle processen die u wilt efficiënter uit te voeren.

Handige hulpmiddelen voor Linux-gamers
Als je graag games op Linux speelt, is de kans groot dat je apps en hulpprogramma's zoals Wine, Lutris en OBS Studio hebt gebruikt om de game-ervaring...
HD Remastered Games voor Linux die nog nooit eerder een Linux-release hebben gehad
Veel game-ontwikkelaars en uitgevers komen met HD-remaster van oude games om de levensduur van franchise te verlengen, fans die compatibiliteit met mo...
Hoe AutoKey te gebruiken om Linux-spellen te automatiseren
AutoKey is een hulpprogramma voor desktopautomatisering voor Linux en X11, geprogrammeerd in Python 3, GTK en Qt. Met behulp van de scripting- en MACR...