Administrere prosesser i Ubuntu Linux

Administrere prosesser i Ubuntu Linux
Å håndtere prosesser i Linux er et viktig tema å lære og forstå, ettersom det er et multitasking -operativsystem og har mange prosesser pågående samtidig. Linux gir mange verktøy for å håndtere prosesser, som å liste opp løpsprosesser, drepe prosesser, overvåke systembruk osv. I Linux er hver prosess representert av prosessen 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 skal administrere disse prosessene for å få systemet ditt til å kjøre jevnt. 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 særegen for hver prosess. Det er to typer prosesser,

  • Bakgrunnsprosesser
  • Forgrunnsprosesser

Bakgrunnsprosesser

Bakgrunnsprosesser starter i terminalen og kjører av seg selv. Hvis du kjører en prosess i terminalen, vises utgangen 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 "&" -skilt på slutten av kommandoen, og det vil begynne å løpe i bakgrunnen; Det vil spare deg for tid, og du vil kunne starte en annen prosess. For å liste opp prosesser som kjører i bakgrunnen, bruk kommandoen 'jobber.'Det vil vise alle løpsprosessene i bakgrunnen.

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

ubuntu@ubuntu: ~ $ sudo apt -get oppgradering -y &

Det vil begynne å 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.

ubuntu@ubuntu: ~ $ jobber
[1]+ Kjør sudo apt -get oppgradering -y &

Forgrunnsprosesser

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

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

ubuntu@ubuntu: ~ $ fg %1
sudo apt -get oppgradering -y

Og hvis du vil ta denne prosessen til bakgrunnstypen denne kommandoen.

ubuntu@ubuntu: ~ $ bg %1

Liste og administrere prosesser med PS -kommando

Oppføringsprosessen med PS -kommandoen er en av de eldste måtene å se terminalkjøringsprosessene. Skriv PS -kommandoen for å liste opp hvilke prosesser som kjører og hvor mye systemressurs de bruker og hvem som kjører dem.

ubuntu@ubuntu: ~ $ ps u
Bruker PID %CPU %MEM VSZ RSS TTY Stat Start Time Command
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 pkt/0 SS 13:08 0:00 Bash
Jim 15604 0.0 0.0 11836 3412 PTS/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 drapssignalet til en prosess. %CPU viser CPU -prosentprosessor, og %MEM viser bruk av tilfeldige tilgangsminne. For å drepe en prosess, skriv.

ubuntu@ubuntu: ~ $ kill [prosess id (pid)]

eller

ubuntu@ubuntu: ~ $ kill -9 [Process ID (PID)]

Bruk PS AUX -kommandoen for å se alle løpsprosesser og legge til et rør for å se det i orden.

ubuntu@ubuntu: ~ $ ps aux | mindre

Hvis du vil omorganisere kolonnene, kan du gjøre det ved å legge til et flagg -e for å liste opp alle prosessene og -o For å indikere for kolonnene med nøkkelord i PS -kommandoen.

ubuntu@ubuntu: ~ $ 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 Systemed
3032 Jim 1000 16.5 4.7 21744776 386524 krom
... Snip ..

Alternativer for PS -kommando.

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

ubuntu@ubuntu: ~ $ ps u

F -alternativet brukes til å vise hele oppføringen.

ubuntu@ubuntu: ~ $ ps f

X -alternativet brukes til å vise informasjon om prosessen uten terminal.

ubuntu@ubuntu: ~ $ ps x

E -alternativet brukes til å vise utvidet informasjon.

ubuntu@ubuntu: ~ $ ps e

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

ubuntu@ubuntu: ~ $ ps a

v Alternativ brukes til å vise virtuelt minneformat.

ubuntu@ubuntu: ~ $ ps v

Flagg for PS -kommando.

-E flagg brukes til å se hver prosess på systemet.

ubuntu@ubuntu: ~ $ ps -e

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

ubuntu@ubuntu: ~ $ ps -u

-f Flag brukes til en full liste over prosesser.

ubuntu@ubuntu: ~ $ ps -f

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

ubuntu@ubuntu: ~ $ ps -o
Pstree

Pstree er en annen kommando for å liste opp prosessene; Det viser utgangen i et treformat.

ubuntu@ubuntu: ~ $ pstree

Alternativer for Pstree -kommando

-n brukes til sorteringsprosesser av PID.

ubuntu@ubuntu: ~ $ pstree -n

-H brukes til å fremheve prosesser.

ubuntu@ubuntu: ~ $ pstree -h [pid]
ubuntu@ubuntu: ~ $ pstree -h 6457

-en brukes til å vise utdata, inkludert kommandolinjeargumenter.

ubuntu@ubuntu: ~ $ pstree -a

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

ubuntu@ubuntu: ~ $ pstree -g

-s brukes til såing av treet eller spesifikk prosess.

ubuntu@ubuntu: ~ $ pstree -s [pid]
ubuntu@ubuntu: ~ $ pstree -s 6457

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

ubuntu@ubuntu: ~ $ pstree [brukernavn]
ubuntu@ubuntu: ~ $ pstree jim
pgrep

Med PGREP -kommandoen kan du finne en løpsprosess basert på visse kriterier. Du kan bruke fullt navn eller forkortelse av prosessen for å finne eller ved brukernavn eller andre attributter. PGREP -kommandoen følger følgende mønster.

ubuntu@ubuntu: ~ $ pgrep [alternativ] [mønster]
ubuntu@ubuntu: ~ $ pgrep -u jim krom
Alternativer for PGREP -kommando

-Jeg brukes til å søke i saken ufølsom

ubuntu@ubuntu: ~ $ pgrep -i Firefox

-d brukes til å avgrense utgangen

ubuntu@ubuntu: ~ $ pgrep -u jim -d:

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

ubuntu@ubuntu: ~ $ pgrep -u jim

-en brukes til å oppgi prosesser ved siden av kommandoene sine

ubuntu@ubuntu: ~ $ pgrep -u jim -a

-c brukes til å vise antall matchende prosesser

ubuntu@ubuntu: ~ $ pgrep -c -u jim

-l brukes til å oppgi prosesser og deres navn

ubuntu@ubuntu: ~ $ pgrep -u jim -l
Pkill

Med Pkill -kommandoen kan du sende et signal til en løpsprosess basert på visse kriterier. Du kan bruke fullt navn eller forkortelse av prosessen for å finne eller ved brukernavn eller andre attributter. PGREP -kommandoen følger følgende mønster.

ubuntu@ubuntu: ~ $ pkill [alternativer] [mønstre]
ubuntu@ubuntu: ~ $ pkill -9 krom
Alternativer for pkill -kommando

-signal brukes til å sende et signal e.g. Sigkill, Sigterm, etc.

ubuntu@ubuntu: ~ $ pkill -signal signal vscode

-Hup brukes til å laste inn en prosess på nytt

ubuntu@ubuntu: ~ $ pkill -hup syslogd

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

ubuntu@ubuntu: ~ $ pkill -f “ping 7.7.7.7 ”

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

ubuntu@ubuntu: ~ $ pkill -u jim

-Jeg brukes til tilfelle ufølsom drap av prosessen av pkill.

ubuntu@ubuntu: ~ $ pkill -i firefox

-9 brukes til å sende et drapssignal.

ubuntu@ubuntu: ~ $ pkill -9 krom

-15 brukes til å sende et termineringssignal.

ubuntu@ubuntu: ~ $ pkill -15 VLC
LSOF (liste over åpne filer)

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

ubuntu@ubuntu: ~ $ lsof

I tabellen over LSOF-kommandoen representerer FD filbeskrivelse, CWD representerer den gjeldende arbeidskatalogen, txt betyr tekstfil, MEM betyr minnekartimte filer, MMAP betyr minnemokte 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 deres prosessnavn.

ubuntu@ubuntu: ~ $ lsof -c krom

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

ubuntu@ubuntu: ~ $ lsof -u jim

-Jeg brukes til liste over prosesser som utfører på en port.

ubuntu@ubuntu: ~ $ lsof -i

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

ubuntu@ubuntu: ~ $ lsof +d /hjemme /

-p brukes til oppføring av åpne filer etter en prosess.

ubuntu@ubuntu: ~ $ lsof -p 1342

Oppføring og administrasjonsprosess med toppkommando

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

Skriv kommandotoppen for å liste opp prosessene som kjører.

ubuntu@ubuntu: ~ $ topp
Oppgaver: 291 totalt, 1 løping, 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 SWAP: 2048.0 Totalt, 2048.0 gratis, 0.0 brukt. 4091.8 nytte mem
PID bruker pr ni virt res sh 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
.. .Snip .. .

Du kan også gjøre noen handlinger med toppkommandoen for å gjøre endringer i løpsprosesser; Her er listen nedenfor.

  • u Ved å trykke på “U” kan du vise en prosess som kjører av en bestemt bruker.
  • M Ved å trykke “M” kan du ordne med RAM -bruk i stedet for CPU -bruk.
  • P Ved å trykke på “P” kan du sortere etter CPU -bruk.
  • 1 ved å trykke på "1" -bryter mellom CPU -bruken hvis det er mer enn en.
  • R Ved å trykke på “R” kan du gjøre output -sortering omvendt.
  • h Ved å trykke “H” kan du gå for å hjelpe og trykke på hvilken som helst tast for å returnere.

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

Drep en prosess øverst: trykk k og skriv prosess -IDen 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.

Renice en prosess øverst: trykk r og skriv PID -en i prosessen du vil bli omdekket. Det vil be deg om å skrive PID -en i prosessen, og deretter verdien av rensing du vil gi denne prosessen mellom -19 til 20 (-19 betyr den høyeste viktigheten og 20 betyr lavest betydning).

Liste og administrere prosesser med systemmonitor

Linux har en systemmonitor -gnom for å vise løpsprosessene mer dynamisk. For å starte systemmonitoren, trykk på Windows -tasten og skriv System Monitor, klikk på ikonet, og du kan se prosesser i kolonner. Ved å høyreklikke på dem, kan du drepe, stoppe eller renisere prosessen.

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

  • Egenskaper- Vis andre innstillinger relatert til en prosess.
  • Minnekart- Vis systemminnekart for å vise hvilket bibliotek og andre komponenter som brukes i minnet for prosessen.
  • Åpen fil- viser hvilke filer som åpnes etter prosessen.
  • Endre prioritet- Vis en sidefelt som du kan renisere prosessen med alternativene fra veldig høy til veldig lav og tilpasset.
  • Stoppe- Pauser prosessen til du velger å fortsette.
  • Fortsette- starter på nytt en pause prosess.
  • Drepe- Force dreper en prosess umiddelbart.

Drepe en prosess med drap og drepe

Kill, og Killall Command brukes til å drepe/avslutte en løpsprosess. Disse kommandoene kan også brukes til å sende et gyldig signal til en løpsprosess, som å fortelle en prosess å fortsette, avslutte eller lese konfigurasjonsfiler osv. Signaler kan skrives på begge måter med tall eller med navn. Følgende er noen ofte brukte signaler.

Signalnummer Beskrivelse

Sukk 1 oppdager hang-up-signal ved kontrollerende terminal.
Sigint 2 tolket fra tastaturet.
Sigquit 3 slutter fra tastaturet.
Sigill 4 Ulovlige instruksjoner.
Sigtrap 5 brukes til å spore en trape.
Sigabrt 6 brukes til å abortere signal fra abort (3).
Sigkill 9 brukes til å sende et drapssignal.
Sigterm 15 brukes til å sende et termineringssignal.
Sigcont 19,18,25 brukes til å fortsette en prosess hvis stoppet.
Sigstop 17,19,23 brukes til å stoppe prosesser.

Ulike verdier av Sigcont og Sigstop brukes i forskjellige UNIX/Linux -operativsystemer. For detaljert informasjon om signaler Type MAN 7 Signalterminal.

Bruke Kill -kommandoen for å sende signal til prosess med PID.

Legg merke til prosessen du vil sende et drapssignal. Du kan finne prosess -ID (PID) med PS eller Top Command.

PID bruker pr ni virt res sh 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 CPU. Hvis du vil drepe denne prosessen for å lagre CPU -bruk, her er noen måter å avslutte denne prosessen med Kill -kommandoen.

ubuntu@ubuntu: ~ $ kill 7780
ubuntu@ubuntu: ~ $ kill -15 7780 eller $ kill -sigterm 7780
ubuntu@ubuntu: ~ $ kill -9 7780 eller $ kill -Sigkill 7780

Bruker Killall -kommandoen for å sende signaler til en prosess ved navn.

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

Som Kill -kommandoen, kan du skrive signalene etter navn eller etter nummer i Killall -kommandoen. Drep enhver løpsprosess med Killall -kommandoen; Du trenger bare å skrive navnet og signalet du vil sende. e.g., Send en Kill Signal Process Firefox ved hjelp av Killall -kommandoen, skriv kommandoen nedenfor.

ubuntu@ubuntu: ~ $ killall -9 Firefox

eller

ubuntu@ubuntu: ~ $ killall sigkill krom

Endre prosessprioriteten med Nice and Renice

Hver prosess på Linux -systemet ditt har en utmerket verdi, og det er mellom -19 til 20. Den bestemte hvilken prosess som skulle få mer CPU -tilgang i systemet. Jo lavere verdien av den 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 rotrettigheter kan tildele en negativ verdi av NICE. En normal bruker kan bare tilordne verdien av "fin" mellom 0 til 19. En vanlig bruker kan bare tilordne høyere fine verdier og på sine egne prosesser. En rotbruker kan sette hvilken som helst fin verdi til enhver prosess.

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

ubuntu@ubuntu: ~ $ fin +3 krom

Og renice prosessen

ubuntu@ubuntu: ~ $ 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 alle prosesser du vil ha mer effektivt.