读书人

fork()函数失去的子进程会继承父进程的

发布时间: 2013-09-06 10:17:17 作者: rapoo

fork()函数得到的子进程会继承父进程的哪些资源
fork()函数得到的子进程会继承父进程的哪些资源
[解决办法]
fork后父子进程只共享代码段,其它父进程资源会得到继承。
这样的继承会产生很多问题:比如fork之前曾打开过某个文件,fork后父子进程的文件描述符(用户空间)会指向相同的文件表项(内核空间),导致父(子)进程对文件的操作影响到子(父)进程。
[解决办法]

引用:
言简意赅 谢谢
如果我需要父子进程共同操作继承文件描述符(用户空间),用互斥锁事是信号量是不是能得到正确的应用呢?

继承父进程的互斥锁? 那样就不行了,互斥锁也拷贝了一份。。
[解决办法]
父进程一个完成副本,然后作为子进程执行,为了加少一些开销,Linux采用了写时复制技术!

读书人网 >C语言

热点推荐