devi usare fork e exec.. oltre che wait o waitpid (anche se in realtà la sicnronizzazione si potrebbe fare anche con signal(SIGCHLD, handler) e una pause() o suspend(sigmask).. in poche parole:
su linux è ancora più semplice.. se cerchi tra gli esempi in C (su questo sito) c'è un programma che si chiama respawn che con una piccolissima modifica fa proprio al caso tuo.
in sostanza fai un programma che crea un figlio con una fork e da questa fork fai una execlp o execvp che esegue il tuo programma. il padre fa una waitpid che aspetta la terminazione del figlio, quando il figlio termina ripete la fork e così via..
Ultima modifica effettuata da eddiewrc il 20/09/2009 alle 18:18 |