在窗户中分叉

时间:2012-07-10 06:54:51

标签: fork

我正在研究不同fork实现方法的细节。以下链接用于fork实现, http://doxygen.scilab.org/5.3/d0/d8f/forkWindows_8c_source.html。这个fork实现是使用ntdll导出的ZwXXX函数。

我可以在vs2012,windows 7 -64位机器上编译它。但是在测试中,我没有得到预期的输出。在分叉时,会创建新的子进程,但此进程会在恢复其挂起的主线程时立即返回。它不会再次调用fork调用。有没有人试图为Windows实现fork?我在这段代码中缺少什么?过去一周我一直在研究不同的fork实现。请帮忙。

1 个答案:

答案 0 :(得分:0)

在将fork api移植到windows时我也有类似的问题,我使用了一个临时解决方案:

  • 在子进程中的fork之后添加Sleep()。
  • 通过ctrl + F5运行父进程。
  • 然后将子进程附加到VS调试器。
  • 使用F5键继续调试。
  • 我们还可以将父进程附加到VS调试器。

是否有更好的解决方案来调试分叉的子进程。