我正在用 C 编写一个简单的应用程序,需要作为守护进程运行。
我通过 fork 并关闭 stderr、stdout、stdin 来妖魔化进程。我的问题是? fork 进程是否继承了父进程的动态加载库,还是我需要重新加载它们?
如果它继承它们,模块将被加载到与它们在父进程中相同的虚拟地址?
最佳答案
是的,在 fork 之后,新的子进程将拥有父进程内存空间的写时复制克隆,其中包括可能已加载和初始化的任何共享库。在函数调用级别,您可以在父级中执行的任何操作都可以在子级中合法执行。
关于linux - Process是否继承动态加载所以,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16797699/