Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2013
    Messaggi
    3

    C - Far lanciare un comando della shell ad un processo

    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:
    codice:
    #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);
     }
    Grazie delle eventuali risposte

  2. #2
    Al di là del fatto che il codice va specificato tra tag [CODE] ... [/CODE] (altrimenti perde l'indentazione), qual'è la domanda? Ovvero, cos'è che non sai fare esattamente?
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2013
    Messaggi
    3
    Il programma non esegue quello che dovrebbe eseguire (ovvero quello richiesto nella traccia) e non so come farglielo fare.

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2013
    Messaggi
    24
    devi usare argv[] e passarlo poi come argomento a exec..

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2013
    Messaggi
    3
    e l'ho fatto no? ma non fa ciò che è richiesto dalla traccia

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.