Ciao,
vorrei il vostro aiuto per un problema che č sicuramente banale ma che non riesco a risolvere.
La traccia č la seguente:
Realizzare un programma C con le seguenti caratteristiche:
1. deve creare un processo figlio ;
2. il processo figlio deve eseguire il comando passato come argomento al programma :
esempio: ./run cp file1.txt file2.txt
esempio: ./run rm file1.txt
[nei precedenti esempi, run e l'eseguibile che dovete creare]
3. il processo padre attende il completamento del figlio.
Il mio codice č invece questo:
Grazie delle eventuali rispostecodice:#include <stdlib.h> #include <stdio.h> #include <sys/types.h> #include <sys/wait.h> #include <fcntl.h> #include <sys/stat.h> int main (int argc, char *argv[]) { pid_t pid; int status; if ((pid=fork()) == 0) { //codice figlio execv("/home/mirko/so/eserc4", argv[1]); //ritorna solo in caso di errore exit(-1); } else { //codice padre wait(&status); printf("Il processo figlio %d č temrinato con esito %d\n",pid, status); } exit(0); }![]()
![]()

Rispondi quotando