摘要: 1.vfork保证子进程先运行,在它调用exec或exit之后父进程才可能被调度运行。如果在调用这两个函数之前子进程依赖于父进程的进一步动作,则会导致死锁。2.fork要拷贝父进程的进程环境;而vfork则不需要完全拷贝父进程的进程环境,在子进程没有调用exec和exit之前,子进程与父进程共享进程环境,相当于线程的概念,此时父进程阻塞等待。为什么会有vfork呢?因为以前的fork当它创建一个子进程时,将会创建一个新的地址空间,并且拷贝父进程的资源,然后将会有两种行为:1.执行从父进程那里拷贝过来的代码段2.调用一个exec执行一个新的代码段当进程调用exec函数时,一个新程序替换了当前进程 阅读全文
posted @ 2011-10-19 23:04 only_eVonne 阅读(10407) 评论(0) 推荐(6) 编辑