Solaris Common Desktop Environment: Användarhandbok

Kapitel 19 Använda processhanteraren

Använd processhanteraren när du vill visa processerna som körs på arbetsstationen och utföra åtgärder på dem. Du kan göra detta 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 utför det jobb som du förväntar dig. En process kan t ex förbruka en stor andel av de tillgängliga resurserna på grund av ett programfel eller så kan processen störa 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 19–1 Processhanteraren 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
 Minnesväxling  Total storlek i 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:

Så här öppnar du 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.

Så här visar du 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. T ex i Figur 19–1 visar användaren alla processer som relateras till 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å här söker du 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.


Så här ändrar du 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 19–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
     Minnesväxling 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

Så här ändrar du 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 löpande mätning är aktiverad visas ett Stopp-menyalternativ på Mät-menyn; i annat fall visas Starta-menyalternativet.

    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:

Så här skapar du 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.

Så här anger du 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. Om processen har utformats att svara på signaler av den typ som skickas gör den detta;i annat fall avslutas den. 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å signalen;det 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 t ex skicka en INT-signal eller en 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. Om du vill ha ytterliggare information om processer och jobbkontroll kontaktar du systemadministratören eller läser Solaris Advanced User's Guide (Sun Microsystems).


Så här avslutar du 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) förutsatt 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 process-ID för den valda processen.

    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


Så här skickar du 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.


Så här slår du 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 18.

Så här visar du 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.


Så här spårar du 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.


Så här spårar du 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 page) truss(1).


Tips!  

Motsvarande UNIX-kommando är:

truss -p PID

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


Så här visar du 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.


Så här felsöker du 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.