用fork创建进程树
来源:互联网 发布:ubuntu创建新用户密码 编辑:程序博客网 时间:2024/06/05 14:52
创建一个如下图所示的进程树。用getpid()和getppid()梳理其关系。
要注意的是fork之后的子进程和父进程共享代码段,并且如果有写的情况下会有各自的数据段。
#include<stdio.h>#include<unistd.h>#include<stdbool.h>#include<sys/types.h>int main(int argc, char *argv) {printf("My pid is %d\n", getpid());pid_t pid;//bool flag = false;int i=0, j=0;for( i=0; i<3; ++i) {pid = fork();if(pid == 0) {printf("My pid is %d, my parent's pid is %d\n", getpid(), getppid());if( i == 0) {//if( flag == false) if not OK//flag=true;for( j=0; j<2; ++j) {pid_t pid1=fork();if(pid1 == 0) {printf("My pid is %d, my parent's pid is %d\n", getpid(), getppid());return 0;}else {printf("Process %d create %d\n", getpid(), pid);}sleep(1);}}return 0;}else {printf("Process %d create %d\n", getpid(), pid);}sleep(1);}}
0 0
- 用fork创建进程树
- 创建进程fork
- 创建进程库函数fork
- fork() 创建新进程
- 创建进程库函数fork
- python 创建进程fork
- fork创建子进程
- fork创建进程
- 关于fork 创建进程
- Linux:fork进程创建
- fork进程创建
- fork创建进程
- fork函数创建进程
- fork创建进程
- fork创建多进程
- fork创建子进程
- fork创建子进程
- Linux-fork进程创建
- Hibernate HelloWorld-04 Hibernate 的配置文件
- Aerospike C客户端手册———Benchmarks
- 第十一周项目一(2)存储班长信息的学生类
- 数据库-主键和外键及其约束
- PAT 1018. Public Bike Management (30)
- 用fork创建进程树
- 一个利用简单迭代方法求方程cos(x)-x=0的一个实根的程序
- 5乘5的数独游戏
- ajax初步
- Add and Search Word - Data structure design
- Intent 应用
- java gbk转utf-8乱码问题
- linux内置浏览器中文乱码
- iOS之APP保留更新接口被拒