你好
我正在编写一个服务器的一部分,它应该调度一些其他子进程。
因为我想等待一些进程完成,而不必等待其他进程完成,所以对于第二类进程,我使用双重fork(从而避免僵尸进程)。
问题是,我的服务器占用了很多内存,因此forking需要很长时间(即使在Linux中使用的仅复制页面表的写时复制fork)
我想用vfork()替换fork(),对于第二个fork很容易(因为它只在子进程中调用execve()),但我找不到任何方法可以替换第一个fork。
有人知道我该怎么做吗?
谢谢!
服务器是C++编写的linux(RH5U4)。
_exit
而不是exit
。在vfork
之后绝对不能调用exit
。 - R.. GitHub STOP HELPING ICE