子进程是否继承父进程的数据结构?

use*_*683 2 linux child-process

在Linux中,如果父进程有任何数据结构(例如,树,列表),那么这些数据结构是否由子进程继承?我的意思是,孩子是否可以访问相同的数据结构(任何指向该数据结构的指针)?

Gun*_*ica 5

如果你在谈论Linux/Unix进程之后fork(),是的.他们获得了自己父进程数据的副本,因此在fork之后没有其他人看到它们(通常是通过copy-on-write实现的,所以内存页面不会被复制,直到写入,但这是用户程序没有看到的细节).

如果你在谈论Windows启动一个新进程CreateProcess(),不,新进程不会从父进程继承任何数据结构.


与使用任何特定的编程语言相比,这两者与您使用的操作系统有很大关系.