Körprocesser

Denna sida förklarar hur du hanterar körningsprocesser på ditt system med Webmin.

Introduktion till processer

Varje program, process eller kommando som körs på ett Linux-system är en process. När som helst finns det dussintals processer som körs på ditt system, vissa för program som du interagerar med grafiskt, andra för kommandon som du har startat vid en shell-prompt, andra för servrar som körs i bakgrunden och andra som utför systemuppgifter. Varje gång du skriver ett kommando som ls eller vi vid shell-prompten skapas en ny process, bara för att avsluta så snart jobbet är klart.

Varje process identifieras med ett unikt ID, så kallat PID eller process-ID. Var och en ägs av en enda användare och är medlem i flera grupper, som bestämmer de privilegier som processen har. Och var och en har en prioritet (även känd som den fina nivån), som styr hur mycket CPU-tid processen kan använda på ett upptaget system. Nästan varje process har en förälder, vilket är den process som startade den och från vilken den ärver äganderätt, prioritet och andra inställningar.

En process körs tills den väljer att avsluta eller tills den dödas av en signal från en annan process.

Modulen Running Processes

Denna modul kan användas för att visa, döda, prioritera om och köra processer på ditt system. När du anger det för första gången från systemkategorin, visar huvudsidan ett träd med processer som visas nedan.

Modulträdet för körprocesser

Modulen har flera olika sätt att visa alla processer på ditt system, som kan väljas med Display-länkar högst upp på huvudsidan. De är:

PID I detta visningsläge visas varje process indragen under sin överordnade bildande ett träd med alla processer som körs i ditt system. Högst upp i trädet finns init-kommandot, som startas av kärnan vid starttid och har ingen förälder. Användare Detta läge grupperar processer efter deras ägare. Det kan vara användbart på system med många användare för att snabbt se vad varje användare kör. Minne I detta läge ordnas processerna efter hur mycket minne de använder, med de som använder mest minne visas högst upp på sidan. En processminnesanvändning är inte alltid en indikation på hur mycket minne den verkligen använder, eftersom processer ofta delar minne med varandra. Dessutom visas den totala och lediga mängden verkligt och virtuellt minne på ditt system ovanför processlistan. CPU Detta visningsläge beställer processer efter deras nuvarande CPU-användning, med den tyngsta användaren som visas först. Ibland kommer Webmin-kommandot som genererar sidan att visas nära toppen av listan, men det kan säkert ignoreras. Systembelastningsgenomsnittet visas högst upp på sidan för att ge en uppfattning om hur upptagen systemet har varit under de senaste 1,5 och 10 minuterna. Ett genomsnitt av 0 betyder ingen aktivitet alls, 1 betyder att CPU: n är fullt utnyttjad och allt över 1 betyder att det finns fler processer som vill köras än systemet har CPU-tid för.

Alternativet Sök och Kör är för att söka efter processer respektive köra nya. Se avsnitten nedan för mer information.

Visa, döda eller prioritera om en process

Du kan se alla detaljer om alla pågående processer genom att klicka på kolumnposten Process-ID i någon av skärmarna på huvudsidan . Detta tar dig till processinformationssidan som visas i den här skärmdumpen.

Detaljerad information om en process

Sidan visar all tillgänglig information om processen, inklusive dess fullständiga kommandorad, överordnade kommando och eventuella underprocesser. Du kan bara gå till informationssidan för föräldern genom att klicka på dess kommando eller till sidan på någon av underprocesserna genom att klicka på dess process-ID. En lista med filer som processen har öppna och nätverksanslutningar som den använder för närvarande kan visas genom att klicka på knappen Filer och anslutningar.

Processen kan stoppas med en TERM-signal genom att klicka på knappen Avsluta process. Eftersom detta kan ignoreras av vissa kommandon kan Kill Process-knappen användas för att skicka en KILL-signal om avslutningen misslyckas. Såvida inte processen hängs inuti ett kärnsystemsamtal är det garanterat att döda det.

Andra signaler kan skickas genom att välja typ av signal bredvid knappen Skicka signal innan du trycker på den. Några av de mer användbara signalerna är:

HUP För många serverprocesser kommer denna signal att få dem att läsa om sina konfigurationsfiler. STOP Avbryter processen tills en CONT-signal tas emot. CONT Återupptar en process som har stoppats av en STOPP-signal.

Informationssidan kan också användas för att ändra den fina nivån i en pågående process, vilket ger den en högre eller lägre prioritet.För att ändra en processprioritet, välj en ny nivå från listan * Trevlig nivå * och klicka sedan på knappen Ändra. Lägre nivåer innebär högre prioriteringar, så en process med en trevlig nivå på 10 kommer att få mer CPU-tid än en med nivå 5.

På ett system med flera användare, långvariga processer som tar upp mycket CPU-tid bör ges en högre fin nivå så att de inte saktar ner processer som interagerar med användare. Alternativt kan du påskynda en process på andras bekostnad genom att ge den en lägre fin nivå. Du bör vara försiktig när du ställer in en extremt låg nivå (som 20), eftersom alla andra processer kan svälta efter CPU-tid, vilket gör att systemet inte svarar.

Söka efter processer

Om du har ett stort antal processer som körs på ditt system och vill hitta en eller flera att döda eller visa, gör sökfunktionen för den köra processmodulen För att hitta processer, följ dessa steg:

  1. På modulens huvudsida klickar du på länken Sök visningsläge. Detta tar dig till ett sökformulär som visas på skärmbilden nedan.
  2. Formuläret visar flera olika kriterier för att hitta processer, av vilka du kan välja en genom att välja alternativknappen bredvid den. Kriterierna är: Ägs av processer som ägs av användaren vars namn du anger nästa till det här alternativet kommer att hittas. # * Matchande Hitta processer vars kommando eller argument innehåller texten som du anger bredvid det här alternativet. Använda mer än Hitta processer med mer än den angivna procentsatsen av CPU-tid. det valda filsystemet eller har åtkomst till någon fil på det kommer att hittas. Användbar om du kan ot avmontera ett filsystem eftersom det är upptaget. Använda fil Hitta processer som har den inmatade filen öppen för läsning eller skrivning. Om du anger en katalog kommer alla processer som har den som sin nuvarande katalog att hittas. Använda port Hitta processer som skickar, tar emot eller lyssnar på nätverkstrafik i den inmatade porten med det valda protokollet. Användbart om du vet portnumret som en server lyssnar på och vill hitta serverprocessen. Använda adress Hittar processer som har en nätverksanslutning öppen för den angivna adressen eller lyssnar på den adressen om det är för ett gränssnitt på ditt system.
  3. Om du vill filtrera Webmin-sökprocesserna från resultaten väljer du alternativet Ignorera sökprocesser i resultat. Detta kan vara användbart när du söker efter CPU-användning, eftersom Webmin-processerna använder mycket CPU-tid.
  4. När du har valt sökkriteriet klickar du på Sök-knappen. Eventuella matchningsprocesser visas under formuläret.
  5. Om du vill se ytterligare information om en process, ändra dess prioritet eller skicka den enbart en signal, klicka på dess process-ID i resultaten.
  6. Om du vill döda alla matchande processer klickar du på knappen Avsluta processer eller Döda processer. Du kan också skicka vilken signal som helst till alla processer genom att välja den i listan bredvid knappen * Skicka signal *. En sida kommer att visas med varje process-ID och om det signalerades eller dödades framgångsrikt.

Processsökningsformulär

Köra en process

Modulen kan också användas för att köra enkla kommandon, antingen i förgrunden så att deras utdata visas, eller i bakgrunden som demoner. Detta kan vara användbart om du bara vill köra ett kommando utan att behöva logga in via telnet eller SSH (eller om en brandvägg förhindrar en telnet- eller SSH-inloggning). Stegen att följa är:

  1. På modulens huvudsida klickar du på länken Kör bredvid alternativen för visningsläge. Detta tar dig till formuläret för att starta en ny process.
  2. Ange kommandot som du vill köra i fältet * Kommando att köra *. Shelloperatorer och specialtecken som;, & lt, > och & & kan användas.
  3. Om kommandot är något som tar lång tid att köra, kan du ställa in alternativet Körläge till Kör i bakgrunden så att Webmin automatiskt lägger det i bakgrunden. Men om du vill se utdata från kommandot, lämna alternativet inställt på Vänta tills det är klart.
  4. Ange vilken ingång du vill mata till kommandot i fältet * Input to command *.
  5. Klicka på knappen Kör för att köra den. Om alternativet Vänta tills komplett har valts visas någon utdata från kommandot.

    Kör kommando

Modulåtkomstkontrollalternativ

Som standard kan alla Webmin-användare som har tillgång till den här modulen hantera alla processer som körs på systemet, som om han var inloggad som root. Men med hjälp av modulen Användare och grupper kan du begränsa en användares åtkomst så att han bara kan döda eller omprocessa processer som ägs av en viss Unix-användare.Det är också möjligt att begränsa en användare till skrivskyddat läge, så att han bara kan se processer genom att inte ändra dem på något sätt eller starta nya.

Du bör läsa kapitel 52 först för att lära dig mer om modulåtkomstkontroll och hur man ger användare åtkomst till modulen Running Processes. När du har gjort det, för att redigera en Webmin-användares tillgång till den här modulen, är stegen som ska följas:

  1. I modulen Webmin-användare klickar du på Kör processer bredvid användarens namn eller grupp som du vill begränsa.
  2. Ändra fältet Kan redigera modulkonfiguration? till Nej.
  3. För att ge Webmin-användaren åtkomst till endast de processer som ägs av en viss Unix-användare, ange användarnamnet i fältet * Hantera processer som användare *. Om Unix- och Webmin-användarna har samma namn kan du istället välja Aktuell Webmin-användare. Detta kan vara användbart när du ställer in modulåtkomstkontroll för en grupp där du vill ha medlem för att bara kunna hantera sina egna processer.
  4. För att sätta användaren i skrivskyddat läge, ställ in fälten * Kan döda och förlora processer? * och Kan köra kommandon? * till * Nej. detta är gjort, det spelar ingen roll vilket användarnamn du anger i steg 7 eftersom ingen processhantering kan göras.
  5. Klicka på knappen Spara för att aktivera dina ändringar.

För att begränsa de processer som en Webmin-användare kan hantera, växlar modulkoden helt enkelt till att köras som Unix-användaren som anges i steg 4. Eftersom en Unix-användare inte kan döda eller prioritera om någon process som han inte äger, byter användare som detta att operativsystemet automatiskt tillämpar processåtkomstkontroll för Webmin.

Andra operativsystem

Eftersom det finns processer på alla versioner av Unix med nästan identiska attribut, den här modulen verkar nästan exakt densamma på alla operativsystem som stöds.

När du visar detaljerad information om en process kan olika information finnas tillgänglig på andra operativsystem. Utbudet av fina nivåer kan också vara olika, men lägre nivåer betyder fortfarande en högre prioritet och vice versa.

När du söker efter en process kanske kriterierna Använda filsystem, Använda fil eller Använda port inte är tillgängliga. Dessa alternativ beror på fixerings- och lsof-kommandon som inte är tillgängliga för eller installerade som standard på alla system.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *