Se fai prima la fork() all'interno di un thread e poi nel nuovo processo richiami la exec(), il processo padre rimane attivo con tutti i suoi thread mentre il nuovo esegue il programma argomento di exec(). In realtà non so (o non ricordo) se il nuovo processo "eredita" i thread dal padre, è probabile che dipenda dal sistema.Originariamente inviato da Cell
Che io sappia (magari mi sbaglio), quando si fa un'exec viene coinvolto TUTTO il processo, quindi tutti i thread che esso comprende. Se faccio una exec in un thread, sostituisco tutto il processo con quel thread, ovvero mi perdo gli altri thread (non l'ho provato, ma a livello teorico credo che sia così).

Rispondi quotando