Denne siden forklarer hvordan du administrerer kjørende prosesser på systemet ditt ved hjelp av Webmin.
Introduksjon til prosesser
Hvert program, prosess eller kommando som kjører på et Linux-system er en prosess. Når som helst er det dusinvis av prosesser som kjører på systemet ditt, noen for programmer du kommuniserer med grafisk, noen for kommandoer du har startet ved en shell-ledetekst, noen for servere som kjører i bakgrunnen, og noen som utfører systemoppgaver. Hver gang du skriver inn en kommando som ls eller vi ved shell-ledeteksten, opprettes en ny prosess, bare for å avslutte så snart jobben er gjort.
Hver prosess er identifisert av en unik ID, kjent som PID eller prosess-ID. Hver eies av en enkelt bruker og er medlem av flere grupper, som bestemmer rettighetene som prosessen har. Og hver har en prioritet (også kjent som det fine nivået), som styrer hvor mye CPU-tid prosessen kan bruke på et travelt system. Nesten hver prosess har en forelder, som er prosessen som startet den, og som den arver eierskap, prioritet og andre innstillinger fra.
En prosess vil kjøre til den velger å avslutte, eller til den blir drept av et signal fra en annen prosess.
Modulen Kjører prosesser
Denne modulen kan brukes til å vise, drepe, prioritere og kjøre prosesser på systemet ditt. Når du angir den for første gang fra systemkategorien, vil hovedsiden vise et tre av prosesser som vist nedenfor.
Modulen har flere forskjellige måter å vise alle prosessene på systemet ditt på, som kan velges ved å vise lenker øverst på hovedsiden. De er:
PID I denne skjermmodusen vises hver prosess innrykket under foreldrene, og danner et tre av alle prosessene som kjører på systemet ditt. Øverst på treet er init-kommandoen, som startes av kjernen ved oppstart og har ingen foreldre. Bruker Denne modusen grupperer prosesser etter eieren. Det kan være nyttig på systemer med mange brukere for raskt å se hva hver bruker kjører. Minne I denne modusen ordnes prosesser etter mengden minne de bruker opp, med de som bruker mest minne vist øverst på siden. En prosessminnebruk er ikke alltid en indikasjon på hvor mye minne den virkelig bruker, fordi prosesser ofte deler minne med hverandre. I tillegg vises den totale og ledige mengden ekte og virtuelt minne på systemet ditt over prosesslisten. CPU Denne skjermmodusen bestiller prosesser etter deres nåværende CPU-bruk, med den tyngste brukeren som vises først. Noen ganger vises Webmin-kommandoen som genererer siden nær toppen av listen, men den kan trygt ignoreres. Gjennomsnittet for systembelastning vises øverst på siden for å gi en ide om hvor travelt systemet har vært de siste 1,5 og 10 minuttene. Et gjennomsnitt på 0 betyr ingen aktivitet i det hele tatt, 1 betyr at CPU er fullt utnyttet, og alt over 1 betyr at det er flere prosesser som ønsker å kjøre enn systemet har CPU-tid til.
Alternativene Søk og Kjør er for å søke på henholdsvis prosesser og kjøre nye. Se avsnittene nedenfor for mer informasjon.
Vise, drepe eller prioritere en prosess på nytt
Du kan se de fullstendige detaljene for en hvilken som helst prosess som kjører ved å klikke på prosess-ID-kolonneoppføringen i noen av skjermene på hovedsiden . Dette tar deg til prosessinformasjonssiden, vist på dette skjermbildet.
Siden viser all tilgjengelig informasjon om prosessen, inkludert hele kommandolinjen, overordnet kommando og eventuelle underprosesser. Du kan bare gå til informasjonssiden for foreldrene ved å klikke på kommandoen, eller til siden på noen av underprosessene ved å klikke på prosess-IDen. En liste over filer som prosessen har åpne og nettverkstilkoblinger den bruker for øyeblikket, kan vises ved å klikke på Filer og tilkoblinger-knappen.
Prosessen kan stoppes ved bruk av et TERM-signal ved å klikke Avslutt prosess-knappen. Fordi dette kan ignoreres av noen kommandoer, kan Kill Process-knappen brukes til å sende et KILL-signal hvis avslutningen mislykkes. Med mindre prosessen er hengt inn i et kjernsystemanrop, vil det garantert lykkes å drepe det.
Andre signaler kan sendes ved å velge signaltypen ved siden av Send signal-knappen før du trykker på den. Noen av de mer nyttige signalene er:
HUP For mange serverprosesser vil dette signalet få dem til å lese konfigurasjonsfilene sine på nytt. STOP Avbryter prosessen til et CONT-signal mottas. CONT Fortsetter en prosess som er suspendert av et STOPP-signal.
Informasjonssiden kan også brukes til å endre det fine nivået i en kjørende prosess, og gi den høyere eller lavere prioritet.For å endre prosessprioritet, velg et nytt nivå fra listen * Fint nivå *, og klikk deretter på Endre-knappen. Lavere nivåer betyr høyere prioriteringer, så en prosess med et pent nivå på 10 vil få mer CPU-tid enn en med nivå 5.
På et system med flere brukere, langvarige prosesser som tar opp mye CPU-tid bør gis et høyere hyggelig nivå, slik at de ikke bremser prosesser som samhandler med brukere. Alternativt kan du øke hastigheten på en prosess på bekostning av andre ved å gi den et lavere hyggelig nivå. Du bør være forsiktig når du setter et ekstremt lavt nivå (for eksempel 20), da alle andre prosesser kan bli utsultet for CPU-tid, noe som gjør at systemet ikke reagerer.
Søke etter prosesser
Hvis du har et stort antall prosesser som kjører på systemet ditt og vil finne en eller flere å drepe eller se, gjør søkefunksjonen for kjørende prosess For å finne prosesser, følg disse trinnene:
- På hovedsiden til modulen klikker du på lenken Søk i visningsmodus. Dette fører deg til et søkeskjema som vist på skjermbildet nedenfor.
- Skjemaet viser flere forskjellige kriterier for å finne prosesser, hvorav du kan velge en ved å velge alternativknappen ved siden av. Kriteriene er: Eies av prosesser som eies av brukeren hvis navn du skriver inn neste til dette alternativet vil bli funnet. # * Matching Finner prosesser hvis kommando eller argumenter inneholder teksten du skriver inn ved siden av dette alternativet. Bruker mer enn Finner prosesser som bruker mer enn den angitte prosentandelen av CPU-tid. det valgte filsystemet eller får tilgang til en hvilken som helst fil på det blir funnet. Nyttig hvis du kan un-mount et filsystem fordi det er opptatt. Bruke fil Finner prosesser som har den angitte filen åpen for lesing eller skriving. Hvis du går inn i en katalog, vil en hvilken som helst prosess som har den som den nåværende katalogen bli funnet. Bruke port Finner prosesser som sender, mottar eller lytter til nettverkstrafikk på den angitte porten ved hjelp av den valgte protokollen. Nyttig hvis du vet portnummeret en server lytter på, og vil finne serverprosessen. Bruke adresse Finner prosesser som har en nettverkstilkobling åpen til den angitte adressen, eller som lytter på den adressen hvis det er for et grensesnitt på systemet ditt.
- For å filtrere Webmin-søkeprosessene fra resultatene, velger du alternativet Ignorer søkeprosesser i resultat. Dette kan være nyttig når du søker etter CPU-bruk, da Webmin-prosessene bruker mye CPU-tid.
- Når du har valgt søkekriteriene, klikker du på Søk-knappen. Eventuelle samsvarende prosesser vil vises under skjemaet.
- Hvis du vil se tilleggsinformasjon om en prosess, endre prioritet eller sende den alene et signal, klikker du på prosess-IDen i resultatene.
- For å drepe alle samsvarende prosesser, klikk på Avslutt prosesser eller Drep prosesser-knappen. Du kan også sende hvilket som helst signal til alle prosesser ved å velge det fra listen ved siden av * Send signal * -knappen. Det vises en side som viser hver prosess-ID og om den ble signalisert eller drept.
Kjører en prosess
Modulen kan også brukes til å kjøre enkle kommandoer, enten i forgrunnen slik at utdataene deres vises, eller i bakgrunnen som demoner. Dette kan være nyttig hvis du bare vil kjøre en kommando uten å måtte logge inn via telnet eller SSH (eller hvis en brannmur forhindrer telnet eller SSH-pålogging). Fremgangsmåten som skal følges er:
- På hovedsiden til modulen klikker du på Kjør-koblingen ved siden av alternativene for visningsmodus. Dette tar deg til skjemaet for å starte en ny prosess.
- Skriv inn kommandoen du vil kjøre i feltet * Kommando for å kjøre *. Skalloperatører og spesialtegn som;, & lt, > og & & kan brukes.
- Hvis kommandoen er noe som vil ta lang tid å kjøre, kan du sette alternativet Kjøremodus til Kjør i bakgrunnen slik at Webmin automatisk setter den i bakgrunnen. Men hvis du vil se utdataene fra kommandoen, la alternativet være satt til Vent til det er fullført.
- Skriv inn hvilken som helst inngang du vil mate til kommandoen i feltet * Input to command *.
- Klikk på Run-knappen for å kjøre den. Hvis alternativet Vent til fullført ble valgt, vil alle utdataene fra kommandoen vises.
Kjør kommando
Alternativer for modultilgangskontroll
Som standard kan enhver Webmin-bruker med tilgang til denne modulen administrere alle prosesser som kjører på systemet, som om han var logget inn som root. Ved å bruke modulene Brukere og grupper kan du imidlertid begrense en brukers tilgang slik at han bare kan drepe eller gjenopprette prosesser som eies av en bestemt Unix-bruker.Det er også mulig å begrense en bruker til skrivebeskyttet modus, slik at han bare kan se prosesser ved ikke å endre dem på noen måte eller starte nye.
Du bør lese kapittel 52 først for å lære mer om modultilgangskontroll og hvordan du gir en bruker tilgang til kjører prosesser-modulen. Når dette er gjort, for å redigere en Webmin-brukeres tilgang til denne modulen, er trinnene som følger:
- I Webmin Users-modulen klikker du på Running Processes ved siden av navnet på brukeren eller gruppe du vil begrense.
- Endre feltet Kan redigere modulkonfigurasjon? til Nei.
- For å gi Webmin-brukeren tilgang til bare de prosessene som eies av en bestemt Unix-bruker, skriv inn brukernavnet i * Administrer prosesser som bruker * -feltet. Hvis Unix- og Webmin-brukerne har samme navn, kan du velge Gjeldende Webmin-bruker i stedet. Dette kan være nyttig når du setter opp modultilgangskontroll for en gruppe du vil ha hver medlem for å kunne administrere bare sine egne prosesser.
- For å sette brukeren i skrivebeskyttet modus, sett feltene * Kan drepe og fornekte prosesser? * og Kan kjøre kommandoer? * felter til * Nei. Hvis dette er gjort, det spiller ingen rolle hva brukernavnet du skriver inn i trinn 7, fordi ingen prosessadministrasjon kan gjøres.
- Klikk på Lagre-knappen for å aktivere endringene.
For å begrense prosessene som en Webmin-bruker kan administrere, bytter modulkoden bare til å kjøre som Unix-brukeren spesifisert i trinn 4. Fordi en Unix-bruker ikke kan drepe eller prioritere noen prosess at han ikke eier, bytter bruker som dette fører til at operativsystemet automatisk håndhever prosessadgangskontroll for Webmin.
Andre operativsystemer
Fordi det finnes prosesser på alle versjoner av Unix med nesten identiske attributter, vises denne modulen nesten nøyaktig den samme på alle støttede operativsystemer.
Når du ser detaljert informasjon om en prosess, kan forskjellig informasjon være tilgjengelig på andre operativsystemer. Utvalget av fine nivåer kan også være forskjellige, men lavere nivåer betyr fortsatt høyere prioritet og omvendt.
Når du søker etter en prosess, kan det hende at bruk av filsystem, bruk av fil eller bruk av portkriterier ikke er tilgjengelig. Disse alternativene avhenger av fikserings- og lsof-kommandoene som ikke er tilgjengelige for eller installert som standard på alle systemer.