Linux中子进程继承了父进程的哪些资源:A进程地址空间 B共享内存 C信号掩码 D已打开的文件描述符
答:进行fork后子进程将获得父进程几乎所有资源拷贝的副本,继承之后子进程与父进程会共享代码段,编写fork函数的程序便是例子,其他地方不会共享。查阅资料后子进程会继承父进程的进程地址空间、信号掩码、已打开的文件描述符,共享内存我觉得会继承一份,因为子进程也需要自己的共享内存。这样的继承会产生一些问题:比如fork之前曾打开过某个文件,fork后父子进程的文件描述符(用户空间)会指向相同的文件表项(内核空间),导致父(子)进程对文件的操作影响到子(父)进程。
时间: 2024-10-14 20:35:38