[学习笔记]Vfork深入理解
2015-04-15 15:15
344 查看
#include<stdio.h> #include<stdlib.h> #include<string.h> #include <unistd.h> #include<errno.h> #include <signal.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> // 演示 vfork // vfork共享父进程的数据段 // vfork函数必须和execle这类函数在一起或者exit // 不建议使用vfork函数 //execve一个应用把另一个应用拉起来---> vfork的主要用途 int main(void) { pid_t pid; //int num; printf("before pid : %d\n", getpid()); pid = vfork(); if (-1 == pid) { perror("fork err"); return 0; } if (pid > 0) { printf("parent pid : %d\n", getpid()); } if (0 == pid) { printf("child pid : %d\n", getpid()); //return 0; vfork下不能用return // hello的代码段/数据段/内存控制块/堆栈段完全覆盖子进程(子进程PID不被覆盖) execve("./hello", NULL, NULL); printf("execve没有执行成功\n"); exit(0); } return 0; } /* --------------------------------------- 运行结果: before pid : 6985 child pid : 6986 hellowodfs parent pid : 6985 --------------------------------------- */
复制去Google翻译翻译结果
相关文章推荐
- 韩顺平 javascript教学视频_学习笔记23_js事件驱动机制深入理解_js常用事件_js版计算器
- (转 Uncle Tom )深入理解javascript(1)学习笔记
- Java学习笔记之深入理解关键字super
- 《深入理解 Java 虚拟机》学习笔记(1)—— JVM 运行时数据区
- CSS深入理解学习笔记之line-height
- [学习笔记]fork深入理解
- 深入理解C指针学习笔记---多级指针的内存分配问题(五)
- 深入理解 Java 虚拟机之学习笔记(2)
- 深入理解Java虚拟机-学习笔记
- Solr5.2.1学习笔记-2-深入理解schema.xml
- Android系统架构(简述)——《深入理解(I)》学习笔记1
- Java多线程高并发学习笔记(二)——深入理解ReentrantLock与Condition
- Hadoop学习笔记 --- 深入理解 parquet 列式存储格式
- Rest API 学习笔记 --- 深入理解 Restful API 架构
- 深入理解JVM 学习笔记2
- <深入理解JavaScript>学习笔记(5)_强大的原型和原型链
- 深入理解计算机网络学习笔记--TCP
- 【c和指针学习笔记】深入理解字符串常量
- 深入理解java虚拟机-学习笔记
- 3深入理解Android之Gradle学习笔记