标签: linux fork
我在C中编写一个简单的应用程序需要作为守护进程运行。
我通过分叉并关闭stderr,stdout,stdin来妖魔化这个过程。我的问题是?分叉进程是否从父进程继承动态加载的库,还是需要再次加载它们?
如果它继承了它们,模块将加载到与父进程相同的虚拟地址?
答案 0 :(得分:1)
是的,在fork之后,新的子进程将具有父进程的内存空间的写时复制克隆,其中包括可能已加载和初始化的任何共享库。在函数调用级别,您可以在父级中完成的任何事情,您可以在孩子中合法地执行。