Operazioni: creazione di un processo

Durante la sua esecuzione un processo può creare altri processi

Il processo creante è chiamato padre, mentre il processo creato è chiamato figlio

La gerarchia che esiste in questa struttura è ricorsiva, per cui un processo figlio può essere, a sua volta, padre di altri processi

Risorse:

Esecuzione:

Spazio di indirizzi:

UNIX:

Creazione di un processo in Unix

#include <sys/types.h>
#include <unistd.h>
#include <stdio.h>

int main (int argc, char *argv[])
{
	pid_t pid; 
	pid = fork(); //genera un nuovo processo
	if (pid < 0)
	{
		//errore
		fprintf(stderr, "errore nella creazione del processo");
		exit(-1);
	}
	else if (pid == 0)
	{
		//processo figlio
		execlp("/bin/ls", "ls", NUll);
	}
	else 
	{
		//processo genitore
		wait(NULL);
		printf("Il processo figlio ha terminato");
		exit(0);
	}
}

Operazioni: terminazione di un processo