Solaris Common Desktop Environment: Användarhandbok

Kapitel 17 Använda processhanteraren

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.

Om processer

UNIX fungerar tillsammans med processer. Inloggningsskalet, programmen, redigeringssessionen och 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.

Tips när du söker efter 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:

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):

Mäta, visa och spara processinformation

Processhanteraren visar och ger åtkomst till processer som körs på din arbetsstation.

Figur 17-1 Den visar processposter som innehåller strängen "audio".

Graphic

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:

Öppna processhanteraren

    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.

Visa delmängder av processerna

  1. 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.

  2. Tryck på Retur.

    Processhanteraren uppdaterar processerna i rullningslisten så att den bara omfattar sådana processposter som innehåller en exakt matchning av filtertexten.

  3. Du återgår till att visa alla processer genom att radera innehållet i fältet Filter och trycka på Retur.

Söka efter en process

  1. 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.

  2. 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.

  3. Tryck på Retur för att markera nästa förekomst och så vidare.

  4. När du har hittat den önskade processposten raderar du innehållet i fältet Sök.


    Obs!

    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.


Ändra sorteringsordningen i fönstret

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.

  1. 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å processposter
     Markerad 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)

  2. (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.

    Graphic

Ändra mätintervallet

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.

Kopiera och spara

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 fil som innehåller den aktuella mätningen

  1. Välj Spara som på Mät-menyn.

    Då visas dialogrutan Spara som.

  2. Ange den nya filens namn och placering och klicka på OK.

    Då skapas textfilen som innehåller processposterna från den aktuella visningen.

Ange en loggfil

  1. Välj Loggfil på Mät-menyn.

    Då visas dialogrutan Loggfil.

  2. 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).


    Varning!   Varning!

    Processhanteraren fortsätter att lägga till information i filen tills du avslutar processhanteraren eller väljer Stoppa inspelning på Mät-menyn.


Utföra åtgärder på en markerad process

När du har identifierat och markerat en processpost i listan kan du utföra följande åtgärder på den:


Varning!   Varning!

Kontakta systemadministratören om du inte förstår vad ovanstående funktioner får för konsekvenser.


Skicka avslutningssignaler till en process

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 direkthjälpsavsnitt (man-sida). 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.


Varning!   Varning!

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:


Avsluta en process (snabbavsluta)

  1. Markera en processpost i rullningslisten i processhanteraren.

  2. 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.


    Tips!

    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


Skicka en signal till en process

  1. Markera en processpost i rullningslisten i processhanteraren.

  2. 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).

  3. 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.


Tips!

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.


Slå upp ägaren till en process

  1. Markera en processpost i rullningslisten i processhanteraren.

  2. 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.

Visa förfäderna till en process

  1. Markera en processpost i rullningslisten i processhanteraren.

  2. 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.

    Graphic

Tips!

Motsvarande UNIX-kommando är:

/usr/proc/bin/ptree PID

där PID är den markerade processens process-ID.


Spåra underordnade processer

När en UNIX-process initierar en eller flera beroende processer kallas de underordnade processer. Under- och överordnade processer har samma användar-ID.

  1. Markera en processpost i rullningslisten i processhanteraren.

  2. 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) direkthjälpsavsnitt (man-sida).


    Tips!

    Motsvarande UNIX-kommando är:

    truss -fa -texec,fork -s¦CLD,ALRM -p PID

    där PID är den markerade processens process-ID.


Spåra systemanrop

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.

  1. Markera en processpost i rullningslisten i processhanteraren.

  2. Välj Spåra systemanrop på Process-menyn.

    Då visas en dialogruta där du ombeds att ange valfria argument.

  3. 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) direkthjälpsavsnitt (man-sida).


Tips!

Motsvarande UNIX-kommando är:

truss -p PID

där PID är den markerade processens process-ID.


Visa stacken för en process

  1. Markera en processpost i rullningslisten i processhanteraren.

  2. 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.


Tips!

Motsvarande UNIX-kommando är:

/usr/proc/bin/pstack PID

där PID är den markerade processens process-ID.


Felsöka en process

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.


Tips!

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.