Sirbako
05-05-2006, 10:21
Salve gente,
ho un probelama, devo creare una sorta di shell, e devo implementare la & (che permette di continuare ad usare la shell anche quando si esegue un programma).
il codice è più o meno così
pid=fork();
if (!pid){
execvp(argv[0],argv);
}
else {
/* se deve aspettare, la & non c'è */
if (f_wait) {
/* fa un wait sul figlio */
waitpid(pid,&status,0);
}
il problema è che il filgio, una volta eseguito il porgramma diventa uno zombie, e io dovrei ucciderlo..
mi sono spiegato?
come posso fare?
ho un probelama, devo creare una sorta di shell, e devo implementare la & (che permette di continuare ad usare la shell anche quando si esegue un programma).
il codice è più o meno così
pid=fork();
if (!pid){
execvp(argv[0],argv);
}
else {
/* se deve aspettare, la & non c'è */
if (f_wait) {
/* fa un wait sul figlio */
waitpid(pid,&status,0);
}
il problema è che il filgio, una volta eseguito il porgramma diventa uno zombie, e io dovrei ucciderlo..
mi sono spiegato?
come posso fare?