【发布时间】:2012-12-05 02:22:30
【问题描述】:
这是我第一次使用 fork,我希望父进程计算总和,而子进程在父进程中为总和提供输入,反之亦然,但我做不到,他们工作作为两个独立的进程!!我怎样才能做到这一点, 当我将输入作为 1 和 2 时,父母必须将总和返回为 3
int main() {
int num1 = 0, num2 = 0, sum = 0;
pid_t pid;
pid = fork();
if(pid == -1)
perror("fork");
if(pid > 1)
{
wait(NULL);
printf("sum:%d\n",sum = num1 + num2);
}
if(!pid)
{
printf("Enter two number\n");
scanf("%d %d", &num1, &num2);
}
}
【问题讨论】:
-
“它们作为两个独立的进程工作” [status-by-design] 您想查看
popen和/或更完整进程间通信 (IPC) 的版本。或者使用线程而不是进程。