Sto iniziando a armeggiare con il processo di forking, solo per averne un'idea. Ho pensato di scrivere un esempio in cui il lavoro è distribuito tra i processi figli e i risultati restituiti al genitore; in questo modo, potrebbe essere eseguito in parallelo su diversi processori.
Nel mio primo tentativo, sto biforcando in un ciclo, il che significa che ogni volta, tutti i processi esistenti (l'originale, i bambini, i nipoti, ecc.) producono un altro fork.
Questo mi sta causando problemi (consumo di memoria, crescita rapida del numero di processi, tracciamento dei tubi per riportare i dati sulla catena, ecc.) e mi chiedo se sono inciampato in un anti- modello. I potrebbe semplicemente posizionare N figli direttamente dal genitore.
Mi rendo conto che è comune eseguire fork ed exec più volte; per esempio, terminal forchetta una shell e la shell forca un editor. Ma è considerata una cattiva pratica dare una forchetta "ricorsivamente" quando i bambini sono tutti dello stesso tipo?