0

forkと を使用してファイルを実行しようとしていますexecvpが、いくつかのエラーが発生しています。私のexevpからエラーが発生せず、実行されないため、ここでオンラインで発生している問題の解決策は見つかりませんでした。これが私のコードです:

 pid_t child;
    int status;
    child = fork();
    char *arg[3] = {"test","/home/ameya/Documents/computer_science/cs170/project1", (char*) 0};
    if(child == 0){
        printf("IN CHILD BEFORE EXECVP\n");
        int value = execvp(arg[0],arg);
        if(value < 0){
            printf("ERROR\n");
        }else{
            printf("In Child : %i\n", value);
        }
    }
    if(waitpid(child, &status, 0) != child){
        printf("ERROR IN PROCESS\n");
    }
    printf("In Parent\n");

このコードを実行しようとすると、「IN CHILD BEFORE EXCEPTION」と「IN PARENT」のみが出力され、間にある printf ステートメントは出力されません。「hello world」を標準出力に出力する単純な実行可能ファイルを実行しようとしているファイル。

助けてくれてありがとう

4

1 に答える 1