fork与vfork
来源:互联网 发布:cnc车床编程 编辑:程序博客网 时间:2024/06/13 09:31
linux下系统调用fork()是创建一个进程的唯一方法(vfork()函数其实是对fork()函数的一种封装) 除了极少数以特殊方式创建的进程如init进程,该进程是内核启动时创建的.
前面讲到过vfork()其实就是对fork()的一种封装;
fork与vfork 两个都是创建一个进程,但区别在哪里呢?
1, fork()创建的子进程,是几乎继承了父进程(创建他的进程)的全部资源如:共享的存储段,用户ID,组ID,上下文环境,资源限制,当前目路……等;但子进程的执行不影响父进程的数据.
而vfork()则是共享父进程的数据段,既就是子进程对同一变量的修改,会传递给父进程;
2; fork()创建的子进程与父进程的执行顺序取决于系统的调度算法,是,
而vfork()则是保证了先是子进程运行,当他调用exec或exit后,父进程才可能被调度运行,如果在调用exec或exit之前子进程要依赖父进程的某个行为,则会导致死锁
未完….
0 0
- fork与vfork
- fork与vfork
- fork() 与 vfork()比较
- fork与vfork 函数
- vfork()与fork()区别
- fork与vfork
- vfork与fork区别
- fork与vfork
- fork 与 vfork
- fork与vfork
- fork()与vfork()
- fork与vfork
- vfork与fork
- fork 与vfork
- fork 与 vfork区别
- APUE--fork与vfork
- fork与vfork
- fork与vfork浅析
- iOS中获取各种文件的目录路径的方法
- DELPHI存储过程调用
- python模块是什么
- Node.js 创建的第一个应用
- Mac环境下svn服务器搭建使用
- fork与vfork
- Delphi多线程处理
- 【栈】华为OJ:火车进站
- Android学习日记(yzy):Fragment与VierPager简单实现
- POJ 1738 An old Stone Game 石子合并之GarsiaWachs算法
- thinking in java test 2.11练习(7)以及修饰符能区分同名方法吗?
- Delphi指针详解
- QT发布时遇到0x00000007b问题
- 【CDP-云设计模式】第5章,2.直接托管模式(Direct Hosting Pattern)