vfork函数
2016-03-17 17:12
323 查看
#include <stdio.h> #include <stdlib.h> #include <unistd.h> /* vfork和fork的区别: 1.vfork创建的子进程和父进程共享线性地址空间;fork创建的子进程具有独立的线性地址空间 2.vfork先执行子进程;fork子进程和父进程的执行顺序是随机的 3.vfork创建的子进程中只有在调用exit()或者execve()函数之后,父进程才可能被成功调用 */ int main(void) { pid_t fpid; int count = 0; fpid = vfork(); if (fpid == -1) { perror("MSG"); } else if (fpid > 0) { printf("parrent: %d\n", getpid()); count++; printf("count: %d\n", count) } else if (fpid == 0) { printf("child: %d\n", getpid()); count++; printf("count: %d\n", count); exit(0); } return 0; } /* 1.执行结果: child: 13729 count: 1 parrent: 13728 count: 2 2.如果子进程没有调用exit(), 执行结果为: child: 13729 count: 1 parrent: 13728 count: 1 重复上面的打印结果 */
相关文章推荐
- 进程知识点
- linux下的 fork vfork和clone函数
- fork和vfork区别
- fork和vfork的区别
- fork与vfork的区别
- Linux进程实践(2) --僵尸进程与文件共享
- 由vfork()结合exit()想到的若干问题
- fork之源码剖析
- vfork与fork区别 转载
- fork和vfork的区别
- linux 的fork 和 vfork
- Linux进程相关系统调用(一)
- fork和vfork函数
- vfork和fork区别
- 在vfork下,对于return和exit的理解
- fork和vfork,return和exit的理解
- inode 、软(硬)链接及fork与vfork
- 小程序分析(fork()和vfork())
- linux-fork&vfork
- Linux-7基础篇 关于进程的一些事