嘿伙计们,我似乎迷路了。我应该能够在无限循环内增加子项的计数,并在每次父项发送信号时打印计数,这应该是每 1 秒。我写了我的代码,但我认为使用 fork 后,子进程和父进程同时运行,但事实并非如此,所以我不确定如何解决这个问题。任何帮助都会很棒
问问题
163 次
2 回答
1
你所描述的应该在理论上有效。
编写并行代码可能很棘手,尤其是使用fork()
,如果您不熟悉该过程。
这是我的建议:在整个代码中添加一堆调试打印,例如:
int pid = fork();
if(pid == -1) {
printf("Fork failed!\n");
} else if (pid) {
printf("I'm the parent!\n");
// Do stuff
printf("Parent exiting\n");
exit(0);
} else {
printf("I'm the child!\n");
// Do stuff
printf("Child exiting\n");
exit(0);
}
然后您可以查看您的程序是否按照应有的方式运行。
还要向您的信号处理程序添加一条printf()
语句,以便确保它被调用。
于 2012-04-26T07:44:05.913 回答