fork()函数得到的子进程会继承父进程的哪些资源
fork()函数得到的子进程会继承父进程的哪些资源
[解决办法]
fork后父子进程只共享代码段,其它父进程资源会得到继承。
这样的继承会产生很多问题:比如fork之前曾打开过某个文件,fork后父子进程的文件描述符(用户空间)会指向相同的文件表项(内核空间),导致父(子)进程对文件的操作影响到子(父)进程。
[解决办法]
继承父进程的互斥锁? 那样就不行了,互斥锁也拷贝了一份。。
[解决办法]
父进程一个完成副本,然后作为子进程执行,为了加少一些开销,Linux采用了写时复制技术!