Prosessledelse

Administrere prosesser i Ubuntu Linux

Administrere prosesser i Ubuntu Linux
Å administrere prosesser i Linux er et viktig tema å lære og forstå, ettersom det er et multitasking-operativsystem og har mange prosesser som pågår samtidig. Linux gir mange verktøy for å administrere prosesser, som å oppføre prosesser som kjører, drepe prosesser, overvåke systembruk osv. I Linux er hver prosess representert med sin prosess-ID (PID). Det er noen andre attributter til prosessen, som bruker-ID og gruppe-ID hvis en bruker eller gruppe kjører prosessen. Noen ganger må du drepe eller samhandle med en prosess, så du bør vite hvordan du administrerer disse prosessene for å få systemet til å fungere problemfritt. I Linux kan prosesser administreres med kommandoer som ps, pstree, pgrep, pkill, lsof, top, nice, renice and kill, etc.

Prosesser

Å kjøre en forekomst av et program kalles en prosess. I Linux brukes prosess-id (PID) for å representere en prosess som er karakteristisk for hver prosess. Det er to typer prosesser,

Bakgrunnsprosesser

Bakgrunnsprosesser starter i terminalen og kjøres av seg selv. Hvis du kjører en prosess i terminalen, vil utgangen vises i et terminalvindu, og du kan samhandle med den, men hvis du ikke trenger å samhandle med prosessen, kan du kjøre den i bakgrunnen. Hvis du vil kjøre en prosess i bakgrunnen, er det bare å legge til et "&" -tegn på slutten av kommandoen, så begynner den å kjøre i bakgrunnen; det vil spare deg for tid, og du vil kunne starte en ny prosess. For å liste opp prosesser som kjører i bakgrunnen, bruk kommandoen jobber.'Det vil vise alle kjørende prosesser i bakgrunnen.

For eksempel er oppgradering en lang prosess i Linux. Det tar for lang tid, og hvis du vil gjøre andre ting mens systemet oppgraderes, bruk bakgrunnskommandoen.

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

Det begynner å løpe i bakgrunnen. Og du kan samhandle med andre programmer i mellomtiden. Du kan sjekke hvor mange og hvilke prosesser som kjører i bakgrunnen ved å skrive denne kommandoen.

[e-postbeskyttet]: ~ $ jobber
[1] + Kjører sudo apt-get upgrade -y &

Forgrunnsprosesser

Alle prosessene vi kjører i terminalen kjøres som standard i forgrunnsprosesser. Vi kan administrere dem med forgrunns- og bakgrunnskommandoer.

Du kan bringe hvilken som helst bakgrunnsprosess som er oppført i jobber i forgrunnen ved å skrive 'fg' -kommandoen etterfulgt av bakgrunnsprosessnummeret.

[e-postbeskyttet]: ~ $ fg% 1
sudo apt-få oppgradering -y

Og hvis du vil ta denne prosessen til bakgrunnen, skriv inn denne kommandoen.

[e-postbeskyttet]: ~ $ bg% 1

Listing og administrering av prosesser med ps-kommando

Oppføringsprosessen med ps-kommandoen er en av de eldste måtene å vise terminalløpsprosessene på. Skriv inn ps-kommando for å liste hvilke prosesser som kjører og hvor mye systemressurs de bruker og hvem som kjører dem.

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

Brukerkolonnen viser brukernavnet i tabellen ovenfor, og PID viser prosess-ID. Du kan bruke PID til å drepe eller sende drapsignalet til en prosess. % CPU viser prosessorprosentprosessor, og% MEM viser bruk av tilfeldig tilgang. For å drepe en prosess, skriv inn.

[e-postbeskyttet]: ~ $ kill [prosess-id (PID)]

eller

[e-postbeskyttet]: ~ $ kill -9 [prosess-id (PID)]

Bruk ps aux-kommandoen til å se alle prosesser som kjører, og legg til et rør for å se det i rekkefølge.

[e-postbeskyttet]: ~ $ ps aux | mindre

Hvis du vil omorganisere kolonnene, kan du gjøre det ved å legge til et flagg -e for oppføring av alle prosesser og -o for å indikere for kolonnene med nøkkelord i ps-kommandoen.

[e-postbeskyttet]: ~ $ ps -eo pid, bruker, uid,% cpu,% mem, vsz, rss, comm
PID BRUKER UID% CPU% MEM VSZ RSS KOMMANDO
1 rot 0 0.1 0.1 167848 11684 systematisert
3032 jim 1000 16.5 4.7 21744776 386524 krom
... snip ..

Alternativer for ps-kommando.

u-alternativet brukes til å liste opp prosessene av brukerne.

[e-postbeskyttet]: ~ $ ps u

f alternativet brukes til å vise hele listen.

[e-postbeskyttet]: ~ $ ps f

x alternativet brukes til å vise informasjon om prosessen uten terminal.

[e-postbeskyttet]: ~ $ ps x

alternativet e brukes til å vise utvidet informasjon.

[e-postbeskyttet]: ~ $ ps e

et alternativ brukes til å liste opp alle prosessene med terminalen.

[e-postbeskyttet]: ~ $ ps a

v-alternativet brukes til å vise virtuelt minneformat.

[e-postbeskyttet]: ~ $ ps v

Flagg for ps-kommando.

-e-flagg brukes til å se alle prosesser i systemet.

[e-postbeskyttet]: ~ $ ps -e

-u-flagg brukes til å se prosesser som kjører som rot.

[e-postbeskyttet]: ~ $ ps -u

-f flag brukes for en fullstendig oversikt over prosesser.

[e-postbeskyttet]: ~ $ ps -f

-o flagg brukes til å liste opp prosessene i ønsket kolonne.

[e-postbeskyttet]: ~ $ ps -o
pstree

pstree er en annen kommando for å liste opp prosessene; det viser utdataene i et treformat.

[e-postbeskyttet]: ~ $ pstree

Alternativer for pstree-kommando

-n brukes til å sortere prosesser av PID.

[e-postbeskyttet]: ~ $ pstree -n

-H brukes til å markere prosesser.

[e-postbeskyttet]: ~ $ pstree -H [PID]
[e-postbeskyttet]: ~ $ pstree -H 6457

-en brukes til å vise utdata, inkludert kommandolinjeargumenter.

[e-postbeskyttet]: ~ $ pstree -a

-g brukes til å vise prosesser etter gruppe-ID.

[e-postbeskyttet]: ~ $ pstree -g

-s brukes til såing av treet eller en bestemt prosess.

[e-postbeskyttet]: ~ $ pstree -s [PID]
[e-postbeskyttet]: ~ $ pstree -s 6457

[brukernavn] brukes til å vise prosesser som eies av en bruker.

[e-postbeskyttet]: ~ $ pstree [brukernavn]
[e-postbeskyttet]: ~ $ pstree jim
pgrep

Med kommandoen pgrep kan du finne en kjørende prosess basert på visse kriterier. Du kan bruke hele navnet eller forkortelsen til prosessen for å finne eller ved hjelp av brukernavn eller andre attributter. pgrep-kommandoen følger følgende mønster.

[e-postbeskyttet]: ~ $ Pgrep [alternativ] [mønster]
[e-postbeskyttet]: ~ $ pgrep -u jim chrome
Alternativer for pgrep-kommando

-Jeg brukes til å søke etter store og små bokstaver

[e-postbeskyttet]: ~ $ Pgrep -i Firefox

-d brukes til å avgrense utdataene

[e-postbeskyttet]: ~ $ Pgrep -u jim -d:

-u brukes til å finne prosesser som eies av en bruker

[e-postbeskyttet]: ~ $ Pgrep -u jim

-en brukes til å liste opp prosesser ved siden av kommandoene

[e-postbeskyttet]: ~ $ Pgrep -u jim -a

-c brukes til å vise antall matchende prosesser

[e-postbeskyttet]: ~ $ Pgrep -c -u jim

-l brukes til å liste opp prosesser og deres navn

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

Med kommandoen pkill kan du sende et signal til en pågående prosess basert på visse kriterier. Du kan bruke hele navnet eller forkortelsen på prosessen for å finne eller ved hjelp av brukernavn eller andre attributter. pgrep-kommandoen følger følgende mønster.

[e-postbeskyttet]: ~ $ Pkill [Alternativer] [Mønstre]
[e-postbeskyttet]: ~ $ Pkill -9 krom
Alternativer for pkill-kommando

-signal brukes til å sende et signal e.g. SIGKILL, SIGTERM osv.

[e-postbeskyttet]: ~ $ Pkill --signal SIGTERM vscode

-HUP brukes til å laste en prosess på nytt

[e-postbeskyttet]: ~ $ Pkill -HUP syslogd

-f brukes til å drepe prosesser basert på hele kommandolinjen.

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

-u brukes til å drepe alle prosessene som eies av en bruker.

[e-postbeskyttet]: ~ $ Pkill -u jim

-Jeg brukes til ufølsom drap på prosessen med pkill.

[e-postbeskyttet]: ~ $ Pkill -i Firefox

-9 brukes til å sende et drapsignal.

[e-postbeskyttet]: ~ $ Pkill -9 krom

-15 brukes til å sende et avslutningssignal.

[e-postbeskyttet]: ~ $ Pkill -15 vlc
lsof (Liste over åpne filer)

Dette kommandolinjeverktøyet brukes til å liste opp filer som er åpnet av flere prosesser. Og som vi vet, gjenkjenner alle UNIX / Linux-systemer alt som en fil, så det er praktisk å bruke lsof-kommandoen til å liste opp alle åpnede filer.

[e-postbeskyttet]: ~ $ lsof

I tabellen ovenfor med lsof-kommandoen representerer FD filbeskrivelse, cwd representerer gjeldende arbeidskatalog, txt betyr tekstfil, mem betyr minnekartede filer, mmap betyr minnekartede enheter, REG representerer en vanlig fil, DIR representerer katalog, rtd betyr rotkatalog. Det er andre alternativer du kan bruke med lsof-kommandoen.

Alternativer for lsof-kommando.

-c brukes til oppføring av åpne filer etter prosessnavnet.

[e-postbeskyttet]: ~ $ lsof -c krom

-u brukes til oppføring av åpne filer av en bruker.

[e-postbeskyttet]: ~ $ lsof -u jim

-Jeg brukes til oppføring av prosesser som kjøres på en port.

[e-postbeskyttet]: ~ $ lsof -i

+D brukes til oppføring av åpne filer under en katalog.

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

-s brukes til oppføring av åpne filer ved en prosess.

[e-postbeskyttet]: ~ $ lsof -p 1342

Oppføring og administrering av prosess med toppkommando

Med den øverste kommandoen kan du vise en sanntidsvisning av systemprosesser som kjører. Den viser prosessene avhengig av CPU-bruk. Du kan sortere kolonnen etter deg. Toppkommandoen gir også litt informasjon om systemet ditt, for eksempel hvor lenge systemet har kjørt eller hvor mange brukere som er koblet til systemet og hvor mange prosesser som kjører, hvor mye CPU og RAM som brukes, og en liste over hver prosess.

Skriv inn kommandotoppen for å liste ned prosessene som kjører.

[e-postbeskyttet]: ~ $ topp
Oppgaver: 291 totalt, 1 løp, 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 totalt, 1259.9 gratis, 3176 brukt, 3444.4 buff / cache
MiB-bytte: 2048.0 totalt, 2048.0 gratis, 0.0 brukt. 4091.8 benytter Mem
PID-BRUKER 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
.. .klipp .. .

Du kan også gjøre noen handlinger med toppkommandoen for å gjøre endringer i kjørende prosesser; her er listen nedenfor.

Legg merke til hvilken prosess som bruker mer minne eller CPU. De prosessene som bruker mer minne kan drepes, og de prosessene som bruker mer CPU kan benyttes for å gi dem mindre betydning for prosessoren.

Drep en prosess på toppen: trykk k og skriv prosess-ID-en du vil drepe. Skriv deretter 15 eller 9 for å drepe normalt eller umiddelbart; Du kan også drepe en prosess med en kill- eller killall-kommando.

Forny en prosess på toppen: trykk r og skriv PID for prosessen du ønsker å bli betalt. Det vil be deg om å skrive inn PID for prosessen, og deretter verdien av nicing du vil gi denne prosessen mellom -19 til 20 (-19 betyr høyeste betydning og 20 betyr laveste betydning).

Oppføring og administrering av prosesser med systemmonitor

Linux har et systemmonitor-gnome som viser de kjørende prosessene mer dynamisk. For å starte systemmonitoren, trykk på Windows-tasten og skriv inn systemmonitoren, klikk på ikonet for å se prosesser i kolonner. Ved å høyreklikke på dem kan du drepe, stoppe eller fornekte prosessen.

De kjørende prosessene vises med brukerkontoer i alfabetisk rekkefølge. Du kan sortere prosessene etter feltoverskrifter som CPU, minne osv., Bare klikk på dem, så blir de sortert; for eksempel, klikk på CPU for å se hvilken prosess som bruker mest CPU-kraft. For å administrere prosesser, høyreklikk på dem og velg alternativet du vil gjøre med prosessen. Velg følgende alternativer for å administrere prosessen.

Dreper en prosess med kill and killall

kill, and killall-kommandoen brukes til å drepe / avslutte en prosess som kjører. Disse kommandoene kan også brukes til å sende et gyldig signal til en pågående prosess, som å fortelle en prosess om å fortsette, avslutte eller lese konfigurasjonsfiler osv. Signaler kan skrives på begge måter med tall eller etter navn. Følgende er noen vanlige signaler.

Signalnummer Beskrivelse

SIGHUP 1 Oppdager påkoblingssignal på kontrollterminalen.
SIGINT 2 Tolket fra tastatur.
SIGQUIT 3 Avslutt fra tastaturet.
SIGILL 4 Ulovlige instruksjoner.
SIGTRAP 5 brukes til å spore en felle.
SIGABRT 6 brukes til å avbryte signal fra avbrudd (3).
SIGKILL 9 brukes til å sende et drapsignal.
SIGTERM 15 brukes til å sende et avslutningssignal.
SIGCONT 19,18,25 brukes til å fortsette en prosess hvis den stoppes.
SIGSTOP 17,19,23 brukes til å stoppe prosesser.

Ulike verdier av SIGCONT og SIGSTOP brukes i forskjellige Unix / Linux-operativsystemer. For detaljert informasjon om signaltype man 7 signalterminal.

Bruke kill-kommando for sending av signal til behandling av PID.

Legg merke til prosessen du vil sende et drapsignal til. Du kan finne prosess-ID (PID) med ps eller toppkommando.

PID-BRUKER 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 topp

Toppprosessen bruker 33.3% av prosessoren. Hvis du vil drepe denne prosessen for å spare CPU-bruk, er det noen måter å avslutte denne prosessen med kill-kommandoen.

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

Bruke killall Command for å sende signaler til en prosess etter navn.

Med killall-kommandoen trenger du ikke søke etter prosess-ID; du kan sende et drapsignal til en prosess ved navn i stedet for prosess-ID. Det kan også drepe flere prosesser enn du vil hvis du ikke er forsiktig, f.eks.g., “Killall chrome” vil drepe alle kromprosesser, inkludert de du ikke vil drepe. Noen ganger er det nyttig å drepe prosesser med samme navn.

I likhet med kill-kommandoen kan du skrive signalene etter navn eller nummer i killall-kommandoen. Drep enhver løpende prosess med killall-kommandoen; du trenger bare å skrive inn navnet og signalet du vil sende. e.g., send en kill signal prosess firefox ved hjelp av killall kommandoen, skriv kommandoen nedenfor.

[e-postbeskyttet]: ~ $ killall -9 Firefox

eller

[e-postbeskyttet]: ~ $ killall SIGKILL krom

Endring av prosessprioritet med god og renice

Hver prosess på Linux-systemet ditt har en utmerket verdi, og det er mellom -19 og 20. Det bestemte seg for hvilken prosess som ville få mer CPU-tilgang i systemet. Jo lavere verdien av det fine, jo mer tilgang har en prosess til CPU-prosessen. Som -16 fine verdier har mer tilgang til CPU enn 18 fine verdier. Bare en bruker med rotprivilegier kan tilordne en negativ verdi av hyggelig. En vanlig bruker kan bare tilordne verdien “fin” mellom 0 og 19. En vanlig bruker kan bare tilordne høyere fine verdier og på sine egne prosesser. En rotbruker kan angi hvilken som helst fin verdi til enhver prosess.

Hvis du vil gi en prosess som er mer tilgjengelig for CPU-bruken ved å tildele den fine verdien, skriver du inn følgende kommando.

[e-postbeskyttet]: ~ $ fin +3 krom

Og gi avkall på prosessen

[e-postbeskyttet]: ~ $ renice -n -6 3612

Konklusjon

Her er guiden for å administrere Linux-systemet ditt med ps, top, lsof, pstree, pkilll, kill, killall, nice, renice, etc. Noen prosesser bruker mesteparten av CPU-bruken og RAM; å vite hvordan du administrerer dem øker systemhastigheten og ytelsen og gir deg et bedre miljø for å kjøre prosesser du vil ha mer effektivt.

Topp 5 spillfangstkort
Vi har alle sett og elsket streaming av spill på YouTube. PewDiePie, Jakesepticye og Markiplier er bare noen av de beste spillerne som har tjent milli...
Hvordan utvikle et spill på Linux
For et tiår siden ville ikke mange Linux-brukere forutsi at deres favorittoperativsystem en dag ville være en populær spillplattform for kommersielle ...
Åpne kildeporter for kommersielle spillmotorer
Gratis, åpen kildekode og plattformspillmotorrekreasjoner kan brukes til å spille gamle så vel som noen av de ganske nylige spilletitlene. Denne artik...