【发布时间】:2016-01-09 07:52:22
【问题描述】:
我的 main 中有以下代码:
//testing with fork
printf("I am process: %d\n", getpid());
pid_t pid = fork();
printf("Now I am process: %d\n", getpid());
printf("fork returned %d\n", pid);
if(pid == 0){
printf("I am child %d\n", getpid());
}
但是我终端上的输出给了我这个: terminal output pic
我用'config_file.txt'的参数运行我的程序,正如你在第一行看到的那样,它的其余部分打印得很好,直到它碰到叉子,我的cmd行出现在它之间。 .关于为什么会这样或如何解决它的任何想法?代码有问题吗?我只是在学习一个简单的分叉教程。
编辑:另外,运行它后,我的程序挂在那里,我必须按回车键才能恢复我的 cmd 行。
【问题讨论】:
-
欢迎来到 Stack Overflow。我已经调整了英文并加粗了“编辑”。这是通过在其周围使用两个星号来完成的。请努力输入您看到的文本,而不是使用链接。你必须努力让别人更容易帮助你。
-
@RohitGupta 感谢您的信息和编辑。至于“链接”,因为我还很初级,Stack Overflow 不允许我将图片嵌入到我的帖子中,而是为它创建了一个链接。由于它是终端输出,而且看起来是错误的终端输出,我觉得它的图片会更好地通知任何愿意帮助我的人。如果它是一个问题与终端本身无关的输出,我当然会输入它。感谢您的宝贵时间。
-
基于此,我对您的问题表示赞同