Denne side forklarer, hvordan du styrer kørende processer på dit system ved hjælp af Webmin.
Introduktion til processer
Hvert program, proces eller kommando, der kører på et Linux-system, er en proces. Når som helst er der snesevis af processer, der kører på dit system, nogle til programmer, som du interagerer med grafisk, andre til kommandoer, du er startet med en shellprompt, nogle til servere, der kører i baggrunden, og andre, der udfører systemopgaver. Hver gang du skriver en kommando som ls eller vi ved shellprompten, oprettes der en ny proces, der kun afsluttes, så snart dens job er færdig.
Hver proces identificeres ved et unikt ID, kendt som PID eller proces-ID. Hver ejes af en enkelt bruger og er medlem af flere grupper, der bestemmer de privilegier, som processen har. Og hver har en prioritet (også kendt som det fine niveau), der styrer, hvor meget CPU-tid processen kan bruge på et travlt system. Næsten hver proces har en forælder, hvilket er den proces, der startede den, og hvorfra den arver ejerskab, prioritet og andre indstillinger.
En proces kører, indtil den vælger at afslutte, eller indtil den dræbes af et signal fra en anden proces.
Kørprocessormodulet
Dette modul kan bruges til at se, dræbe, genprioritere og køre processer på dit system. Når du indtaster det for første gang fra systemkategorien, viser hovedsiden et træ af processer som vist nedenfor.
Modulet har flere forskellige måder at få vist alle processerne på dit system, der kan vælges ved hjælp af Display-links øverst på hovedsiden. De er:
PID I denne visningstilstand vises hver proces indrykket under dens overordnede og danner et træ med alle de processer, der kører på dit system. Øverst på træet er init-kommandoen, som startes af kernen ved opstartstid og derfor ikke har nogen forælder. Bruger Denne tilstand grupperer processer efter deres ejer. Det kan være nyttigt på systemer med mange brugere til hurtigt at se, hvad hver bruger kører. Hukommelse I denne tilstand ordnes processer efter mængden af hukommelse, de bruger op, med dem, der bruger mest hukommelse, vist øverst på siden. En processers hukommelsesforbrug er ikke altid et tegn på den mængde hukommelse, den virkelig bruger, fordi processer ofte deler hukommelse med hinanden. Derudover vises den samlede og gratis mængde ægte og virtuel hukommelse på dit system over proceslisten. CPU Denne visningstilstand bestiller processer efter deres nuværende CPU-forbrug, hvor den tungeste bruger vises først. Nogle gange vises Webmin-kommandoen, der genererer siden, øverst på listen, men den kan ignoreres sikkert. Systembelastningsgennemsnittene vises øverst på siden for at give en ide om, hvor travlt systemet har været i de sidste 1,5 og 10 minutter. Et gennemsnit på 0 betyder slet ingen aktivitet, 1 betyder, at CPUen er fuldt udnyttet, og alt over 1 betyder, at der er flere processer, der ønsker at køre, end systemet har CPU-tid til.
Indstillingerne Søg og Kør er til søgning efter henholdsvis processer og kørsel af nye. Se afsnittene nedenfor for flere detaljer.
Visning, aflivning eller genprioritering af en proces
Du kan se de fulde detaljer om enhver kørende proces ved at klikke på dens kolonneindgang i proces-id i en af skærmene på hovedsiden . Dette fører dig til procesinformationssiden, vist på dette skærmbillede.
Siden viser alle tilgængelige oplysninger om processen, inklusive dens fulde kommandolinje, overordnede kommando og eventuelle underprocesser. Du kan bare gå til informationssiden for forældrene ved at klikke på dens kommando eller til siden på en af underprocesserne ved at klikke på dens proces-id. En liste over filer, som processen har åbne, og netværksforbindelser, som den i øjeblikket bruger, kan ses ved at klikke på knappen Filer og forbindelser.
Processen kan stoppes ved hjælp af et TERM-signal ved at klikke på knappen Afslut proces. Da dette kan ignoreres af nogle kommandoer, kan knappen Kill Process bruges til at sende et KILL-signal, hvis afslutningen mislykkes. Medmindre processen hænges inde i et kernesystemopkald, er det garanteret at dræbe det, at det lykkes.
Andre signaler kan sendes ved at vælge signaltypen ved siden af knappen Send signal, før du trykker på det. Nogle af de mere nyttige signaler er:
HUP For mange serverprocesser får dette signal dem til at genlæse deres konfigurationsfiler. STOP Suspenderer processen, indtil der modtages et CONT-signal. CONT Genoptager en proces, der er blevet suspenderet af et STOP-signal.
Informationssiden kan også bruges til at ændre det pæne niveau i en kørende proces, hvilket giver den en højere eller lavere prioritet.For at ændre en procesprioritet skal du vælge et nyt niveau på listen * Nice-niveau * og derefter klikke på knappen Skift. Lavere niveauer betyder højere prioriteter, så en proces med et pænt niveau på 10 får mere CPU-tid end en med niveau 5.
På et system med flere brugere, langvarige processer, der tager meget op CPU-tid skal gives et højere pænt niveau, så de ikke bremser processer, der interagerer med brugerne. Alternativt kan du fremskynde en proces på bekostning af andre ved at give den et lavere pænt niveau. Du skal være forsigtig, når du indstiller et ekstremt lavt niveau (f.eks. 20), da alle andre processer kan blive udsultet for CPU-tid, hvilket gør systemet ikke reagerer.
Søgning efter processer
Hvis du har et stort antal processer, der kører på dit system og vil finde en eller flere at dræbe eller se, gør søgefunktionen til kørende proces modul For at finde processer skal du følge disse trin:
- På modulets hovedside skal du klikke på linket Søg displaytilstand. Dette fører dig til en søgeformular som vist på skærmbilledet nedenfor.
- Formularen viser flere forskellige kriterier for at finde processer, hvoraf du kan vælge en ved at vælge alternativknappen ud for den. Kriterierne er: Ejes af processer, der ejes af den bruger, hvis navn du indtaster næste til denne mulighed vil blive fundet. # * Matching Finder processer, hvis kommando eller argumenter indeholder den tekst, du indtaster ved siden af denne mulighed. Brug af mere end Find processer, der bruger mere end den angivne procentdel af CPU-tid. det valgte filsystem eller har adgang til en fil på det vil blive fundet. Nyttigt, hvis du kan Fjern ikke et filsystem, da det er optaget. Brug af fil Finder processer, der har den indtastede fil åben til læsning eller skrivning. Hvis du åbner en mappe, vil enhver proces, der har den som den aktuelle mappe, blive fundet. Brug af port Finder processer, der sender, modtager eller lytter til netværkstrafik på den indtastede port ved hjælp af den valgte protokol. Nyttigt, hvis du kender det portnummer, som en server lytter til, og ønsker at finde serverprocessen. Brug af adresse Finder processer, der har en netværksforbindelse åben til den indtastede adresse, eller lytter til den adresse, hvis det er til en grænseflade på dit system.
- Hvis du vil filtrere Webmin-søgeprocesserne fra resultaterne, skal du vælge Ignorer søgeprocesser i resultatindstilling. Dette kan være nyttigt, når du søger efter CPU-brug, da Webmin-processerne bruger meget CPU-tid.
- Når du har valgt søgekriterierne, skal du klikke på knappen Søg. Eventuelle matchende processer vises under formularen.
- Hvis du vil se yderligere oplysninger om en proces, ændre dens prioritet eller sende den alene et signal, skal du klikke på dens proces-id i resultaterne.
- For at dræbe alle matchende processer skal du klikke på knappen Afslut processer eller Dræb processer. Du kan også sende ethvert signal til alle processer ved at vælge det på listen ud for * Send signal * -knappen. Der vises en side, der viser hvert proces-id, og om det blev signaleret eller dræbt med succes.
Kørsel af en proces
Modulet kan også bruges til at køre enkle kommandoer, enten i forgrunden, så deres output vises, eller i baggrunden som dæmoner. Dette kan være nyttigt, hvis du bare vil køre en kommando uden at skulle logge ind via telnet eller SSH (eller hvis en firewall forhindrer et telnet- eller SSH-login). De trin, der skal følges, er:
- På modulets hovedside skal du klikke på kør-linket ved siden af indstillingerne for visningstilstand. Dette fører dig til formularen til start af en ny proces.
- Indtast den kommando, du vil køre, i feltet * Kommando for at køre *. Shell-operatører og specialtegn som;, & lt, > og & & kan bruges.
- Hvis kommandoen er noget, der tager lang tid at køre, kan du indstille indstillingen Kørtilstand til Kør i baggrunden, så Webmin automatisk sætter den i baggrunden. Men hvis du vil se output fra kommandoen, skal du lade indstillingen være Vent til du er færdig.
- Indtast ethvert input, som du vil have til kommandoen, i feltet * Indtast til kommando *.
- Klik på knappen Kør for at køre den. Hvis indstillingen Vent indtil komplet blev valgt, vil ethvert output fra kommandoen blive vist.
Kør kommando
Muligheder for moduladgangskontrol
Som standard kan enhver Webmin-bruger med adgang til dette modul administrere alle processer, der kører på systemet, som om han var logget ind som root. Ved at bruge modulet Brugere og grupper kan du dog begrænse en brugers adgang, så han kun kan dræbe eller genfine processer, der ejes af en bestemt Unix-bruger.Det er også muligt at begrænse en bruger til skrivebeskyttet tilstand, så han kun kan se processer ved ikke at ændre dem på nogen måde eller starte nye.
Du bør først læse kapitel 52 for at lære mere om moduladgangskontrol og hvordan man giver en bruger adgang til modulet Running Processes. Når dette er gjort, for at redigere en Webmin-brugeres adgang til dette modul, er trinene, der skal følges:
- I Webmin Users-modulet skal du klikke på Running Processes ud for navnet på brugeren eller gruppe, som du vil begrænse.
- Skift feltet Kan redigere modulkonfiguration? til Nej.
- For kun at give Webmin-brugeren adgang til de processer, der ejes af en bestemt Unix-bruger, indtast brugernavnet i feltet * Administrer processer som bruger *. Hvis Unix- og Webmin-brugerne har samme navn, kan du i stedet vælge Nuværende Webmin-bruger. Dette kan være nyttigt, når du konfigurerer moduladgangskontrol for en gruppe, hvor du vil have hver medlem for kun at kunne styre sine egne processer.
- For at sætte brugeren i skrivebeskyttet tilstand skal du indstille felterne * Kan dræbe og afvise processer? * og Kan køre kommandoer? * til * Nej. dette er gjort, det betyder ikke noget, hvilket brugernavn du indtaster i trin 7, fordi der ikke kan foretages nogen processtyring.
- Klik på knappen Gem for at aktivere dine ændringer.
For at begrænse de processer, som en Webmin-bruger kan administrere, skifter modulkoden simpelthen til at køre som den Unix-bruger, der er specificeret i trin 4. Fordi en Unix-bruger ikke kan dræbe eller genprioritere nogen proces at han ikke ejer, skifter bruger som dette, får operativsystemet automatisk til at håndhæve procesadgangskontrol for Webmin.
Andre operativsystemer
Fordi der findes processer på alle versioner af Unix med næsten identiske attributter, vises dette modul næsten nøjagtigt det samme på alle understøttede operativsystemer.
Når du får vist detaljerede oplysninger om en proces, kan der være forskellige oplysninger om andre operativsystemer. Rækken af pæne niveauer kan også være forskellige, men lavere niveauer betyder stadig en højere prioritet og omvendt.
Når du søger efter en proces, er kriterierne Brug af filsystem, Brug af fil eller Brug af port muligvis ikke tilgængelige. Disse indstillinger afhænger af fuseren og lsof-kommandoerne, der ikke er tilgængelige for eller installeret som standard på alle systemer.