Använd processhanteraren när du vill visa processerna som körs på arbetsstationen och utföra åtgärder på dem. Detta kan du göra utan att känna till syntaxen för ps(1), truss(1), kill(1) och andra teckenbaserade kommandon. Där det är relevant anges motsvarande UNIX-kommando för varje åtgärd i processhanteraren.
UNIX fungerar tillsammans med processer. Inloggningsskalet, tillämpningarna, redigeringssessionen, till och med ls-programmet som visar dina filer, är alla processer som styrs av operativsystemet.
I UNIX kan du utföra operationer på dessa processer. Du kan exempelvis när som helst titta på alla program som du kör, stoppa och starta om vilka program som helst, och granska och felsöka felaktiga processer.
En felaktig process är en process som inte gör det den är tänkt att göra. Den kanske exempelvis innehåller ett fel som gör att den utnyttjar en större procentandel av de tillgängliga resurserna, eller så kanske den stör en annan process. Använd processhanteraren för att spåra en felaktig process när följande inträffar:
Arbetsstationen verkar fungera eller svara långsammare.
Ett program svarar inte på användarens indata.
En standardtjänst, exempelvis utskrift, filöverföring eller fjärrinloggning, svarar inte.
När du visar alla processer visas vanligtvis mellan 30 och 80 stycken, vilket gör att det kan vara ganska besvärligt att hitta de felaktiga processerna om man inte är van. Då kan följande tips vara till hjälp (i annat fall bör du kontakta systemadministratören):
Använd Prestandamätaren (se Kapitel 18) för att se om prestandaparametrarna, exempelvis användningen av processorn eller skivminnet, är ovanligt höga. Om så är fallet kan du använda processhanteraren för att identifiera den felaktiga processen.
Använd processhanteraren för att identifiera:
Processer som använder en större procentandel av tillgängliga processor- eller RAM-resurser än de borde
Föräldralösa processer vars överordnade process har återgått till 1, det vill säga init (men inte processer som sched, dtlogin eller cron, vars överordnade process-ID bör vara 1)
Processer som startades för länge sedan och inte avslutades när de borde ha gjort det
Stora processer som ägs av en annan användare och som försämrar prestandan
Processhanteraren visar och ger åtkomst till processer som körs på din arbetsstation.
Varje processpost i listan innehåller användbar information, som beskrivs i följande tabell:
Kolumnrubrik | Innebörd |
---|---|
ID | Process-ID |
Namn | Processnamn |
Ägare | Ägarens namn |
CPU% | Förhållandet mellan processortiden som nyligen har utnyttjats och den tillgängliga tiden under samma period, uttryckt som en procentandel |
RAM | Mängden RAM-minne som för närvarande utnyttjas av processen |
Växla | Sammanlagd storlek på det virtuella minnet |
Startad | Faktisk starttid (eller datum om det är ett annat än det aktuella) |
Över | Den överordnade processens process-ID |
Kommando | Faktiskt UNIX-kommando (avklippt) som körs |
Du kan utföra följande åtgärder utan att det påverkar några processer på den valda arbetsstationen:
Visa alla processer eller bara sådana processer som innehåller en angiven teckensträng
Söka efter processer som innehåller en angiven teckensträng
Visa processer som har sorterats efter någon av kolumnerna i rullningslisten
Ändra mätintervallet och kopiera och spara mätinformationen
Klicka på kontrollen Sök process på panelundermenyn Verktyg i huvudgruppen.
Processhanterarens huvudfönster visas. Där börjar arbetsstationen granskas med en gång och mätvärden visas för alla aktuella processer.
Skriv filtertexten i fältet Filter i fönstret i processhanteraren.
Filtertexten bör vara en teckensträng som förekommer i processposterna i delmängden eller gruppen med processer som du vill visa. I Figur 17-1 visar användaren exempelvis alla processer som gäller Ljudverktyget.
Tryck på Retur.
Processhanteraren uppdaterar processerna i rullningslisten så att den bara omfattar sådana processposter som innehåller en exakt matchning av filtertexten.
Du återgår till att visa alla processer genom att radera innehållet i fältet Filter och trycka på Retur.
Skriv söktexten i rutan Sök eller markera en befintlig söktext i listrutan Sök.
Söktexten bör vara en teckensträng som är gemensam för processposterna i alla processer som du vill visa.
Tryck på Retur för markera den första förekomsten av söktexten under den aktuella markörpositionen.
Texten kan förekomma i vilket fält som helst i processposten.
Tryck på Retur för att markera nästa förekomst, och så vidare.
När du har hittat den önskade processposten raderar du innehållet i fältet Sök.
När du kommer till slutet på rullningslisten återgår du inte automatiskt till listans början. För att vara säker på att du söker igenom alla processer bör du därför markera den första processposten i listan innan du skriver söktexten i rutan Sök.
Som standard visas processposterna efter fallande processoranvändning i processhanteraren. Det kan du se på att kolumnrubriken över kolumnen med processoranvändningen (CPU%) är nedtryckt till skillnad från de övriga kolumnrubrikerna.
Om du vill markera kolumnen som listan med processposterna ska sorteras efter, klickar du på kolumnrubriken eller markerar kolumnnamnet på Visa-menyn.
Processhanteraren sorterar listan med processposter och visar dem i den nya ordningen. Standardordningen i varje kolumn visas i följande tabell.
Tabell 17-1 Standardordning på processposterMarkerad kolumnrubrik | Metod |
---|---|
ID | Sorterar i nummerordning efter process-ID i stigande ordning |
Namn | Sorterar i bokstavsordning efter processnamn |
Ägare | Sorterar i bokstavsordning efter ägarnamn |
CPU% | Sorterar i nummerordning efter processoranvändning i fallande ordning |
RAM | Sorterar i nummerordning efter RAM-användning i fallande ordning |
Växla | Sorterar i nummerordning efter användning av minnesväxlingsutrymmet i fallande ordning |
Startad | Sorterar i kronologisk ordning efter faktisk starttid i fallande ordning |
Över | Sorterar i nummerordning efter den överordnade processens process-ID i fallande ordning |
Kommando | Sorterar i bokstavsordning efter fullständig sökväg i fallande ordning (tecken som / har lägre sorteringsvärde än bokstäver) |
(Valfritt) Du kan vända på sorteringsordningen i någon av kolumnerna (för att exempelvis sortera efter RAM-användning i stigande ordning), genom att klicka på den nedtryckta kolumnrubrikknappen.
Då blir kolumnrubriken svart och posterna sorteras i omvänd ordning.
Som standard mäter processhanteraren processerna på arbetsstationen och uppdaterar visningen var 30:e sekund.
Du kan inaktivera/aktivera det löpande mätningsläget genom att välja Stopp/Starta på Mät-menyn.
Om det löpande mätningsläget är aktiverat visas menyalternativet Stopp på Mät-menyn. I annat fall heter alternativet Starta.
Du kan ändra mätningsintervallet genom att skriva antalet sekunder (upp till 604 800, det vill säga 14 dagar) i rutan Mät var.
Tryck på Retur för att bekräfta den nya mätfrekvensen.
Om du vill påbörja mätningen med en gång väljer du Nu på Mät-menyn.
Då mäts processerna och visningen uppdateras.
Du kan markera och kopiera en eller flera av processposterna i visningen och klistra in texten i andra program.
Du kan dessutom välja bland följande alternativ för att spara mätdata i filer:
Skapa en ny fil som bara innehåller den aktuella mätningen
Ange en loggfil där varje ny mätning läggs till
Välj Spara som på Mät-menyn.
Då visas dialogrutan Spara som.
Ange den nya filens namn och placering och klicka på OK.
Då skapas textfilen som innehåller processposterna från den aktuella visningen.
Välj Loggfil på Mät-menyn.
Då visas dialogrutan Loggfil.
Ange den nya filens namn och placering och klicka på OK.
Textfilen skapas och varje ny mätning läggs till i filen (tillsammans med rubrikinformation).
Processhanteraren fortsätter att lägga till information i filen tills du avslutar processhanteraren eller väljer Stoppa inspelning på Mät-menyn.
När du har identifierat och markerat en processpost i listan kan du utföra följande åtgärder på den:
Skicka en avslutningssignal för att avsluta processen eller anropa ett svar
Söka efter mer information om ägaren i adresshanteraren
Spåra systemanrop, visa underordnade processer och köra en felsökningsåtgärd
Visa dess stack eller förfäder
Kontakta systemadministratören om du inte förstår vad ovanstående funktioner får för konsekvenser.
Avslutningskommandot i UNIX gör att användaren kan skicka en signal till en process. En signal är ett meddelande som skickas till en process för att avbryta den och få den att svara. Processen svarar om den har skrivits för att svara på signaler av den typ som har skickats. I annat fall avslutas processen. Det finns 42 signaler, som definieras i signal(5). I följande tabell visas några av de vanligaste signalernas nummer och namn, samt deras betydelse.
Signalnummer | Signalnamn | Innebörd |
---|---|---|
1 | HUP | Lägg på (används ofta innan du loggas ut) |
2 | INT | Avbrott (samma som att trycka på Ctrl+C i en terminalsession) |
9 | KILL |
Avsluta (avslutar utan att radera) Fungerar bara om den skickas från processägaren eller superanvändaren (roten) Programmet kan inte svara på denna signal, utan måste avslutas |
15 | TERM |
Avsluta (avslutar på normalt sätt efter radering) Fungerar bara om den skickas från processägaren eller superanvändaren (roten) |
Menyalternativet Avbryt gör att du snabbt kan avsluta en process genom att skicka en avslutningssignal (9) till den. Signal-menyn ger dig större kontroll över signalen som skickas av kommandot kill(1) . Du kan exempelvis skicka en INT-signal eller HUP-signal, och så vidare.
Du bör bara skicka en signal till en process om du inser konsekvenserna. Om du exempelvis väljer inloggningsskalet och skickar en avslutningssignal, kommer du att loggas ut med en gång. Du kan få mer information om processer och jobbkontroll genom att kontakta systemadministratören och läsa följande:
Direkthjälpen (man) för signal(5), ps(1)och signal(3C)
Solaris handbok för vana användare (Sun Microsystems)
Markera en processpost i rullningslisten i processhanteraren.
Välj Avbryt på Process-menyn.
Processhanteraren avslutar processen (och dess underordnade processer) under förutsättning att du har behörighet att göra detta. I annat fall visas ett felmeddelande. Ibland tar det flera sekunder innan processen avslutas. Du kan se att en process har avslutats om den inte visas nästa gång visningen uppdateras i processhanteraren.
Motsvarande UNIX-kommando är:
kill -9 PID, där PID är den markerade processens process-ID.
Du kan definiera om vilket kommando som utförs via menyalternativet Avbryt genom att definiera om åtgärden 'Kill' i filen:
/usr/dt/appconfig/types/C/sdtprocess.dt
Markera en processpost i rullningslisten i processhanteraren.
Välj Signal på Process-menyn.
Då visas en dialogruta där du ombeds att ange signalerna. Du måste ange minst en av de 42 signaler som definieras i direkthjälpen (man) för signal(5).
Skriv motsvarande signalnummer eller namn och klicka på OK.
Då skickas signalkommandot och dialogrutan stängs. Det visas inget meddelande om att kommandot lyckas. När du avslutar en process avslutas också de underordnade processerna.
Motsvarande UNIX-kommando är: kill -signalnamn PID
där -signalnamn är signalens namn eller nummer och där PID är den markerade processens process-ID.
Markera en processpost i rullningslisten i processhanteraren.
Välj Slå upp ägare på Process-menyn.
Då öppnas adresshanteraren, som söker efter systemanvändarnamnet i den markerade processen i Systemkort. Mer information om adresshanteraren finns i Kapitel 16.
Markera en processpost i rullningslisten i processhanteraren.
Välj Visa ursprung på Process-menyn.
Då visas ett fönster med processträden för den angivna processen. Underordnade processer visas indragna från respektive överordnad process.
Motsvarande UNIX-kommando är:
/usr/proc/bin/ptree PID
där PID är den markerade processens process-ID.
När en UNIX-process initierar en eller flera beroende processer kallas de underordnade processer. Under- och överordnade processer har samma användar-ID.
Markera en processpost i rullningslisten i processhanteraren.
Välj Spåra underordnade på Process-menyn.
Då visas en lista med alla nya underordnade processer som skapas (och deras underordnade processer) till den markerade processen.
Felaktigheter rapporteras med felkoderna som beskrivs i direkthjälpen (man) för Intro(2) .
Motsvarande UNIX-kommando är:
truss -fa -texec,fork -s¦CLD,ALRM -p PID
där PID är den markerade processens process-ID.
När en process körs anropar den UNIX-kärnan, det vill säga gör systemanrop. Du kan spåra dessa systemanrop för att se hur de påverkar andra processer.
Markera en processpost i rullningslisten i processhanteraren.
Välj Spåra systemanrop på Process-menyn.
Då visas en dialogruta där du ombeds att ange valfria argument.
Klicka på OK.
Varje rad i spårningsresultatet visar antingen fel- eller signalnamnet eller systemanropsnamnet med argument och returvärden. Mer information finns i direkthjälpen (man) för truss(1).
Motsvarande UNIX-kommando är:
truss -p PID
där PID är den markerade processens process-ID.
Markera en processpost i rullningslisten i processhanteraren.
Välj Visa stack på Process-menyn.
Då visas ett fönster som innehåller stackspår i hexadecimal form och symbolform för den markerade processen.
Motsvarande UNIX-kommando är:
/usr/proc/bin/pstack PID
där PID är den markerade processens process-ID.
Programutvecklare och systemadministratörer använder ibland ett felsökningsprogram, exempelvis Sun Workshop, för att granska en felaktig process. Alternativet Felsök på Process-menyn anropar ett valfritt felsökningsprogram med den markerade processen.
Felsök processen med ett valfritt felsökningsprogram.
Motsvarande UNIX-kommando är:
felsökningsprogram -d kommando
där felsökningsprogram är namnet på felsökningsprogrammet och kommando är kommandot som skickar process-ID till detta program.