C, fork()

di il
2 risposte

C, fork()

Io ho un programma capo.c che deve eseguire una fork() e una execve per eseguire dipendente.c.

Il mio processo dipendente verrà chiamato più volte da capo.c e quindi deve rimanere attivo senza terminare finché non terminerà anche capo.c, chiaramente non posso eseguire fork() e execve tante volte quante volte dovrò riutilizzare dipendente.c, quindi nel codice di dipendente ho pensato di creare un ciclo infinito controllato da semafori/segnali in modo da non terminare, ma da ripassare il controllo al capo rimanendo attivo, ma ho problemi di implementazione. Sto seguendo la strada corretta? L'obiettivo è la sincronizzazione tra processi e l'assenza di busy waiting. Grazie.

2 Risposte

  • Re: C, fork()

    Ho tolto “Urgente” dal titolo. Ti invito a leggere il regolamento del forum visto che sei nuovo…

  • Re: C, fork()

    Se ho capito bene . 

    Il processo padre con la fork lancia il processo figlio.

    1. Il padre conserva il PID dei figlii restituiti dalla fork
    2. Il padre con un contatore , tiene conto di tutti i figli.

    In questo il padre avendo Il pid puo' uccidere il processo figlio .

    Il figlio conosce il PID del padre ( passandoglielo come argomento )e può mandate un signal al padre per comunicargli che ha finito.

    Non sei fuori strada , la gestione dei processi si implementa con fork() signal 

Devi accedere o registrarti per scrivere nel forum
2 risposte