-3

我在下面的代码中有错误

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

int main()
{
        int i, status;
        pid_t child;
        child=fork();
        if(child == 0){
        for(i=0; i<10; i++){
            printf("\tChild PID = %d\n", getpid());
            printf("\tChild PPID = %d\n", getppid());
            sleep(1);
        }
        exit(0);
        }
        else{
        for(i=0; i<10; i++){
            printf("Parent PID = %d\n", getpid());
            printf("Parent PPID = %d\n", getppid());
        }
        }
        waitpid(child, &status, 0);
        return 0;
}

我在 GCC(Unix) 中编码,并得到以下错误:

test.c:27:1: 错误:预期标识符 '(' 在 '}' 标记之前

有人可以建议我任何帮助吗?提前致谢 :)

4

1 回答 1

2

状态的手册页waitpid()

#include <sys/types.h>
#include <sys/wait.h>

无论如何,错误可能是由于pid_tsys/types.h.

使用-Wall打开所有编译器警告将指向一个waitpid().

更新:这假设 Linux。

于 2012-10-07T17:42:17.217 回答