Solaris CDE: 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. 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.


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


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


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.