Processtyring

Administration af processer i Ubuntu Linux

Administration af processer i Ubuntu Linux
Styring af processer i Linux er et vigtigt emne at lære og forstå, da det er et multitasking-operativsystem og har mange processer, der er i gang på samme tid. Linux giver mange værktøjer til styring af processer, som f.eks. En liste over kørende processer, drabsprocesser, overvågning af systembrug osv. I Linux er hver proces repræsenteret af dens Process ID (PID). Der er nogle andre attributter til processen som bruger-id og gruppe-id, hvis en bruger eller gruppe kører processen. Nogle gange er du nødt til at dræbe eller interagere med en proces, så du skal vide, hvordan du styrer disse processer for at få dit system til at køre problemfrit. I Linux kan processer styres med kommandoer som ps, pstree, pgrep, pkill, lsof, top, nice, renice and kill, etc.

Processer

At køre en forekomst af et program kaldes en proces. I Linux bruges proces-id (PID) til at repræsentere en proces, der er karakteristisk for hver proces. Der er to typer processer,

Baggrundsprocesser

Baggrundsprocesser starter i terminalen og køres af sig selv. Hvis du kører en proces i terminalen, vises dens output i et terminalvindue, og du kan interagere med den, men hvis du ikke har brug for at interagere med processen, kan du køre den i baggrunden. Hvis du vil køre en proces i baggrunden, skal du blot tilføje et "&" -tegn i slutningen af ​​kommandoen, så begynder det at køre i baggrunden; det sparer dig tid, og du vil være i stand til at starte en anden proces. Brug kommandoen 'job til at liste processer, der kører i baggrunden.'Det viser alle kørende processer i baggrunden.

For eksempel er opgradering en lang proces i Linux. Det tager for meget tid, og hvis du vil gøre andre ting, mens systemet opgraderes, skal du bruge baggrundskommandoen.

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

Det begynder at køre i baggrunden. Og du kan interagere med andre programmer i mellemtiden. Du kan kontrollere, hvor mange og hvilke processer der kører i baggrunden ved at skrive denne kommando.

[e-mailbeskyttet]: ~ $ job
[1] + Kører sudo apt-get upgrade -y &

Forgrundsprocesser

Alle de processer, vi kører i terminalen, køres som standard i forgrundsprocesser. Vi kan styre dem ved hjælp af forgrunds- og baggrundskommandoer.

Du kan bringe enhver baggrundsproces, der er anført i job, i forgrunden ved at skrive kommandoen 'fg' efterfulgt af baggrundsprocesnummeret.

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

Og hvis du vil tage denne proces til baggrunden, skriv denne kommando.

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

Notering og styring af processer med ps-kommando

Listeprocessen med ps-kommandoen er en af ​​de ældste måder at se de terminalkørende processer på. Skriv ps-kommando for at angive, hvilke processer der kører, og hvor meget systemressource de bruger, og hvem der kører dem.

[e-mail-beskyttet]: ~ $ ps u
BRUGER PID% CPU% MEM VSZ RSS TTY STAT START TID KOMMANDO
Jim 1562 0.0 0.0 164356 6476 tty2 Ssl + 13:07 0:00 skal
Jim 1564 5.2 0.9 881840 78704 tty2 Sl + 3:07 13:13 dauth
Jim 2919 0.0 0.0 11328 4660 points / 0 Ss 13:08 0:00 bash
Jim 15604 0.0 0.0 11836 3412 points / 0 R + 17:19 0:00 ps u
... klip ..

Brugerkolonnen viser brugernavnet i ovenstående tabel, og PID viser proces-id'et. Du kan bruge PID til at dræbe eller sende drabssignalet til en proces. % CPU viser CPU-procentprocessor, og% MEM viser hukommelsesbrug af tilfældig adgang. For at dræbe en proces skal du skrive.

[e-mail-beskyttet]: ~ $ kill [proces-id (PID)]

eller

[e-mail-beskyttet]: ~ $ kill -9 [proces-id (PID)]

Brug ps aux-kommandoen til at se alle kørende processer og tilføj et rør for at se det i rækkefølge.

[e-mail-beskyttet]: ~ $ ps aux | mindre

Hvis du vil omarrangere kolonnerne, kan du gøre det ved at tilføje et flag -e til oversigt over alle processer og -o til at angive for kolonnerne med nøgleord i ps-kommandoen.

[e-mail-beskyttet]: ~ $ ps -eo pid, bruger, uid,% cpu,% mem, vsz, rss, comm
PID-BRUGER UID% CPU% MEM VSZ RSS-KOMMANDO
1 rod 0 0.1 0.1 167848 11684 systemeret
3032 jim 1000 16.5 4.7 21744776 386524 krom
... klip ..

Indstillinger for ps-kommando.

u-indstillingen bruges til at liste processerne af brugerne.

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

f-indstillingen bruges til at vise den fulde liste.

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

x-indstillingen bruges til at vise oplysninger om processen uden en terminal.

[e-mail-beskyttet]: ~ $ ps x

indstillingen e bruges til at vise udvidet information.

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

en mulighed bruges til at liste alle processer med terminalen.

[e-mail-beskyttet]: ~ $ ps a

indstillingen v bruges til at vise det virtuelle hukommelsesformat.

[e-mail-beskyttet]: ~ $ ps v

Flag til ps-kommando.

-e-flag bruges til at se alle processer i systemet.

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

-u-flag bruges til at se processer, der kører som root.

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

-f-flag bruges til en komplet liste over processer.

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

-o-flag bruges til at liste processerne i den ønskede kolonne.

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

pstree er en anden kommando til at liste processerne; det viser output i et træformat.

[e-mail-beskyttet]: ~ $ pstree

Indstillinger for pstree-kommando

-n bruges til sortering af processer efter PID.

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

-H bruges til fremhævning af processer.

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

--en bruges til at vise output, inklusive kommandolinjeargumenter.

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

-g bruges til at vise processer efter gruppe-id.

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

-s bruges til såning af træet eller en bestemt proces.

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

[brugernavn] bruges til at vise processer, der ejes af en bruger.

[e-mail-beskyttet]: ~ $ pstree [brugernavn]
[e-mail-beskyttet]: ~ $ pstree jim
pgrep

Med kommandoen pgrep kan du finde en kørende proces baseret på bestemte kriterier. Du kan bruge det fulde navn eller forkortelse af processen til at finde eller ved hjælp af brugernavn eller andre attributter. pgrep-kommandoen følger følgende mønster.

[e-mail-beskyttet]: ~ $ Pgrep [option] [mønster]
[e-mail-beskyttet]: ~ $ pgrep -u jim chrome
Indstillinger for pgrep-kommando

-jeg bruges til at søge efter store og små bogstaver

[e-mail-beskyttet]: ~ $ Pgrep -i Firefox

-d bruges til at afgrænse output

[e-mail beskyttet]: ~ $ Pgrep -u jim -d:

-u bruges til at finde en proces, der ejes af en bruger

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

--en bruges til at liste processer sammen med deres kommandoer

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

-c bruges til at vise antallet af matchende processer

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

-l bruges til notering af processer og deres navn

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

Med kommandoen pkill kan du sende et signal til en kørende proces baseret på bestemte kriterier. Du kan bruge det fulde navn eller forkortelse af processen til at finde eller ved hjælp af brugernavn eller andre attributter. pgrep-kommandoen følger følgende mønster.

[e-mail-beskyttet]: ~ $ Pkill [Indstillinger] [Mønstre]
[e-mail-beskyttet]: ~ $ Pkill -9 krom
Indstillinger for pkill-kommando

-signal bruges til at sende et signal e.g. SIGKILL, SIGTERM osv.

[e-mail-beskyttet]: ~ $ Pkill - signal SIGTERM vscode

-HUP bruges til at genindlæse en proces

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

-f bruges til at dræbe processer baseret på den fulde kommandolinje.

[e-mail-beskyttet]: ~ $ Pkill -f “ping 7.7.7.7 ”

-u bruges til at dræbe alle de processer, der ejes af en bruger.

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

-jeg bruges til sagsfølsom aflivning af processen ved pkill.

[e-mail-beskyttet]: ~ $ Pkill -i Firefox

-9 bruges til at sende et drabssignal.

[e-mail-beskyttet]: ~ $ Pkill -9 krom

-15 bruges til at sende et termineringssignal.

[e-mail-beskyttet]: ~ $ Pkill -15 vlc
lsof (Liste over åbne filer)

Dette kommandolinjeværktøj bruges til at liste filer åbnet af flere processer. Og som vi ved, genkender alle UNIX / Linux-systemer alt som en fil, så det er praktisk at bruge kommandoen lsof til at liste alle åbnede filer.

[e-mail-beskyttet]: ~ $ lsof

I ovenstående tabel med lsof-kommando repræsenterer FD filbeskrivelse, cwd repræsenterer den aktuelle arbejdsmappe, txt betyder tekstfil, mem betyder hukommelseskortede filer, mmap betyder hukommelseskortede enheder, REG repræsenterer en almindelig fil, DIR repræsenterer Directory, rtd betyder rodkatalog. Der er andre muligheder, du kan bruge med kommandoen lsof.

Indstillinger for lsof-kommando.

-c bruges til notering af åbne filer efter deres procesnavn.

[e-mail-beskyttet]: ~ $ lsof -c krom

-u bruges til notering af åbne filer af en bruger.

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

-jeg bruges til notering af processer, der udføres på en port.

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

+D bruges til notering af åbne filer under et bibliotek.

[e-mail-beskyttet]: ~ $ lsof + D / hjem /

-s bruges til en liste over åbne filer.

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

Notering og styring af proces med øverste kommando

Med den øverste kommando kan du få vist en realtidsvisning af kørende systemprocesser. Det viser processerne afhængigt af CPU-brug. Du kan sortere kolonnen efter dig. Den øverste kommando giver også nogle oplysninger om dit system, f.eks. Hvor længe systemet har kørt, eller hvor mange brugere der er knyttet til systemet, og hvor mange processer der kører, hvor meget CPU og RAM der bruges og en liste over hver behandle.

Skriv kommandotoppen for at liste ned de kørende processer.

[e-mail-beskyttet]: ~ $ top
Opgaver: 291 i alt, 1 kører, 290 sovende, 0 stoppet, 0 zombie
% CPU (er): 2.3us, 0.3sy, 0.0ni, 97.0id, 0.3wa, 0.0hi, 0.0si, 0.0st
MiB Mem: 7880.6 i alt, 1259.9 gratis, 3176 brugt, 3444.4 buff / cache
MiB-bytte: 2048.0 i alt, 2048.0 gratis, 0.0 brugt. 4091.8 til rådighed Mem
PID-BRUGER PR NI VIRT RES SHR S% CPU% MEM TID + KOMMANDO
3241 jim 20 0 20.7g 33512 10082 S 1.7 4.2 0:54.24 krom
3327 jim 20 0 4698084 249156 86456 S 1.3 3.1 1:42.64 krom
2920 jim 20 0 955400 410868 14372 S 1.0 5.1 7:51.04 krom
3423 jim 20 0 4721584 198500 10106 S 1.0 2.5 0:49.00 krom
3030 jim 20 0 458740 114044 66248 S 0.7 1.4 3:00.47 krom
3937 jim 20 0 4610540 104908 72292 S 0.7 1.3 0:05.91 krom
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 gnome-s+
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 krom
3388 jim 20 0 4674192 156208 85032 S 0.3 1.9 0:13.91 krom
3409 jim 20 0 4642180 140020 87304 S 0.3 1.7 0:15.36 krom
3441 jim 20 0 16.5g 156396 89700 S 0.3 1.9 0:25.70 krom
.. .klip .. .

Du kan også udføre nogle handlinger med den øverste kommando for at foretage ændringer i kørende processer; her er listen nedenfor.

Bemærk hvilken proces der bruger mere hukommelse eller CPU. De processer, der bruger mere hukommelse, kan dræbes, og de processer, der bruger mere CPU, kan benyttes for at give dem mindre betydning for processoren.

Dræb en proces øverst: Trykke k og skriv det proces-id, du vil dræbe. Skriv derefter 15 eller 9 for at dræbe normalt eller med det samme; Du kan også dræbe en proces med en kill- eller killall-kommando.

Forny en proces øverst: Trykke r og skriv PID for den proces, du ønsker at blive betalt for. Det vil bede dig om at skrive PID for processen og derefter værdien af ​​nicing, du vil give denne proces mellem -19 til 20 (-19 betyder den højeste betydning og 20 betyder laveste betydning).

Notering og styring af processer med systemmonitor

Linux har en systemmonitor-gnome, der viser de kørende processer mere dynamisk. For at starte systemmonitoren skal du trykke på Windows-tasten og skrive systemmonitoren, klikke på dens ikon, og du kan se processer i kolonner. Ved at højreklikke på dem kan du dræbe, stoppe eller give afkald på processen.

De kørende processer vises med brugerkonti i alfabetisk rækkefølge. Du kan sortere processerne efter alle feltoverskrifter som CPU, hukommelse osv., bare klik på dem, så bliver de sorteret; Klik for eksempel på CPU for at se, hvilken proces der bruger mest CPU-effekt. For at administrere processer skal du højreklikke på dem og vælge den indstilling, du vil gøre med processen. Vælg følgende indstillinger for at styre processen.

At dræbe en proces med kill and killall

kill og killall-kommandoen bruges til at dræbe / afslutte en kørende proces. Disse kommandoer kan også bruges til at sende et gyldigt signal til en kørende proces, som at fortælle en proces at fortsætte, afslutte eller genlæse konfigurationsfiler osv. Signaler kan skrives på begge måder med tal eller ved navn. Følgende er nogle almindeligt anvendte signaler.

Signalnummer Beskrivelse

SIGHUP 1 Registrerer lægningssignal på kontrolterminalen.
SIGINT 2 Fortolket fra tastaturet.
SIGQUIT 3 Afslut fra tastaturet.
SIGILL 4 Ulovlige instruktioner.
SIGTRAP 5 Bruges til at spore en fælde.
SIGABRT 6 bruges til at afbryde signal fra afbrydelse (3).
SIGKILL 9 Bruges til at sende et drabssignal.
SIGTERM 15 Bruges til at sende et termineringssignal.
SIGCONT 19,18,25 bruges til at fortsætte en proces, hvis den stoppes.
SIGSTOP 17,19,23 Bruges til at stoppe processer.

Forskellige værdier af SIGCONT og SIGSTOP bruges i forskellige Unix / Linux-operativsystemer. For detaljeret information om signaltype man 7 signalterminal.

Brug af kill-kommando til afsendelse af signal til behandling med PID.

Bemærk den proces, som du vil sende et drabssignal til. Du kan finde proces-id (PID) med ps eller øverste kommando.

PID-BRUGER PR NI VIRT RES SHR S% CPU% MEM TID + KOMMANDO
7780 jim 20 0 12596 4364 3460 R 33.3 3.2 13:54:12 top

Den øverste proces forbruger 33.3% af CPU'en. Hvis du vil dræbe denne proces for at spare CPU-brug, er der nogle måder at afslutte denne proces med kill-kommandoen.

[e-mail-beskyttet]: ~ $ kill 7780
[e-mail-beskyttet]: ~ $ kill -15 7780 eller $ kill -SIGTERM 7780
[e-mail-beskyttet]: ~ $ kill -9 7780 eller $ kill -SIGKILL 7780

Brug af killall Command til at sende signaler til en proces efter navn.

Med killall-kommandoen behøver du ikke søge efter proces-id; du kan sende et drabssignal til en proces ved navn i stedet for proces-id. Det kan også dræbe flere processer, end du vil, hvis du ikke er forsigtig, f.eks.g., "Killall chrome" vil dræbe alle chrome processer, inklusive dem, du ikke vil dræbe. Nogle gange er det nyttigt at dræbe processer med samme navn.

Ligesom kill-kommandoen kan du skrive signalerne ved navn eller nummer i killall-kommandoen. Dræb enhver kørende proces med killall-kommandoen; du skal kun skrive navnet og det signal, du vil sende. e.g., send et kill signal proces firefox ved hjælp af killall kommandoen, skriv nedenstående kommando.

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

eller

[e-mail beskyttet]: ~ $ killall SIGKILL krom

Ændring af procesprioritet med god fornøjelse

Hver proces på dit Linux-system har en fremragende værdi, og den er mellem -19 og 20. Det besluttede, hvilken proces der ville få mere CPU-adgang i systemet. Jo lavere værdien af ​​den dejlige, jo mere adgang har en proces til CPU-processen. Ligesom -16 gode værdier har mere adgang til CPU'en end 18 gode værdier. Kun en bruger med rodrettigheder kan tildele en negativ værdi af nice. En normal bruger kan kun tildele værdien "nice" mellem 0 og 19. En almindelig bruger kan kun tildele højere pæne værdier og på sine egne processer. En rodbruger kan indstille enhver god værdi til enhver proces.

Hvis du vil give en proces mere tilgængelig for CPU-brugen ved at tildele den fine værdi, skal du skrive følgende kommando.

[e-mail-beskyttet]: ~ $ flot +3 krom

Og fortryd processen

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

Konklusion

Her er guiden til styring af dit Linux-system med ps, top, lsof, pstree, pkilll, kill, killall, nice, renice osv. Nogle processer forbruger det meste af CPU-brugen og RAM; at vide, hvordan man styrer dem, øger din systemhastighed og ydeevne og giver dig et bedre miljø til at køre de processer, du ønsker mere effektivt.

Gratis og open source-spilmotorer til udvikling af Linux-spil
Denne artikel dækker en liste over gratis og open source-spilmotorer, der kan bruges til at udvikle 2D- og 3D-spil på Linux. Der er mange sådanne spil...
Shadow of the Tomb Raider til Linux-vejledning
Shadow of the Tomb Raider er den tolvte tilføjelse til Tomb Raider-serien - en action-adventure-spilfranchise oprettet af Eidos Montreal. Spillet blev...
Sådan styrkes FPS i Linux?
FPS står for Billeder i sekundet. FPS's opgave er at måle billedhastigheden i videoafspilninger eller spiloptræden. I enkle ord betegnes antallet af u...