Originariamente inviato da shodan
Perché non li avvii in qualche thread specifico allora? Anche perché la fork duplica il processo stesso, non lancia nuovi programmi.
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ì).

Originariamente inviato da simo_85
Credo che la pthread_atfork dovrebbe venirti incontro.. Credo, perchè non l'ho mai usata, (mai avuto la necessità )
Avevo letto anche io di questa funzione, ma non ho trovato molte info ed esempi di utilizzo a parte il man. A quanto ho capito, i 3 parametri che si passano sono puntatori a funzione che servono a gestire particolari problemi che potrebbero esserci, ma se non so esattamente a cosa starmi attento e quali sono i principali problemi che potrei avere mi serve a poco. Credo che se anche non sapessi cosa farne delle tre funzioni che mi aiutano a gestire il nuovo processo e le mettessi a NULL, sarebbe identico ad una fork (ma questa è una mia supposizione).

Per questo chiedevo principalmente se qualcuno aveva "esperienza" con i problemi dovuti alla mescolanza di thread e processi.