linux - Process是否继承动态加载所以

标签 linux fork

我正在用 C 编写一个简单的应用程序,需要作为守护进程运行。

我通过 fork 并关闭 stderr、stdout、stdin 来妖魔化进程。我的问题是? fork 进程是否继承了父进程的动态加载库,还是我需要重新加载它们?

如果它继承它们,模块将被加载到与它们在父进程中相同的虚拟地址?

最佳答案

是的,在 fork 之后,新的子进程将拥有父进程内存空间的写时复制克隆,其中包括可能已加载和初始化的任何共享库。在函数调用级别,您可以在父级中执行的任何操作都可以在子级中合法执行。

关于linux - Process是否继承动态加载所以,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16797699/

相关文章:

linux - sed 命令来 grep 一个特定的值

linux - Bash:重定向来自 2 个源的输入?

c - 为什么 wait() 函数需要更多参数?

PHP forking和mysql数据库连接问题

linux - 如何从 ELF 文件中禁用地址随机化 (ASLR)?

linux - 可以将文件符号链接(symbolic link)到网址吗?

c - 如何在 libuv 中获取已接受的 tcp 套接字的文件描述符?

python - 如何获取由双叉创建的守护进程的 pid?

c - 在抽象语法树中递归执行管道

c - Linux-C : reading from pipe returns first buffer written to it