Process

Från Unix.se, den fria unixresursen.

Program som körs i ett UNIX-system representeras av en eller flera processer. Den första processen som startas i ett system är Init, och den får därför Process ID (PID) 1.

Olika typer av processer:
* förälderprocess (eng. parent process) En process som startar en annan process
* barnprocess (eng. child process) En process startad av en förälderprocess
* föräldralös process (eng. orphan) En process vars förälderprocess har avslutats innan processen blev klar
* zombie En process som avslutats (på egen hand eller av någon annan) men vars förälder inte "väntar" på den.

Om du vill avsluta en process kan du följa de här instruktionerna:

För att på ett enkelt sätt döda en process:

# pkill process

Man kan även använda kommandot kill. Ta reda på processens id-nummer med top eller som här, med ps:

# ps auxww | grep process

Döda därefter processen m.h.a. kill:

# kill pid 

Dör inte processen kan du skicka med flaggan '-9' ("KILL - non-catchable, non-ignorable kill"):

# kill -9 pid

Ibland kan en del processer vägra dö, eftersom de hamnat i sömnläge. Detta kan inträffa när man t.ex. använder verktyget dd. En lösning är att starta om maskinen. En annan är att loopa kill-kommandot till processen, i hopp om att signalen kommer fram precis när den sovande processen försöker återgå till det den borde utföra. Kör då följande:

# while true; do kill -9 <pid>; done
Personliga verktyg