Solaris Common Desktop Environment: Användarhandbok

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.