linux进程控制之用fork()函数打印n层进程二叉树
2013-05-14 15:29
465 查看
本例只打印3层
#include <stdio.h>
#include <unistd.h>
int main()
{
int i;
for(i=0;i<3;i++) //变量i为打印层数,本例之打印3层
{
pid_t t1=fork();
pid_t t2=0;
if(t1>0)
t2=fork();
if(t1>0&&t2>0)
break;
}
while(1); //此处用死循环是为了能用pstree命令查看
}
将代码稍作修改即可打印3叉树
#include <stdio.h>
#include <unistd.h>
int main()
{
int i;
for(i=0;i<3;i++)
{
pid_t t1=fork();
pid_t t2=0;
pid_t t3=0;
if(t1>0)
t2=fork();
if(t1>0&&t2>0)
t3=fork();
if(t1>0&&t2>0&&t3>0)
break;
}
while(1);
}
#include <stdio.h>
#include <unistd.h>
int main()
{
int i;
for(i=0;i<3;i++) //变量i为打印层数,本例之打印3层
{
pid_t t1=fork();
pid_t t2=0;
if(t1>0)
t2=fork();
if(t1>0&&t2>0)
break;
}
while(1); //此处用死循环是为了能用pstree命令查看
}
将代码稍作修改即可打印3叉树
#include <stdio.h>
#include <unistd.h>
int main()
{
int i;
for(i=0;i<3;i++)
{
pid_t t1=fork();
pid_t t2=0;
pid_t t3=0;
if(t1>0)
t2=fork();
if(t1>0&&t2>0)
t3=fork();
if(t1>0&&t2>0&&t3>0)
break;
}
while(1);
}
相关文章推荐
- linux的fork()函数-进程控制
- 进程控制之fork函数
- Linux0.11进程创建函数fork()
- Linux 内核--fork()函数创建进程 (续)之copy_mem(int nr, struct task_struct *p)
- Linux进程创建fork()函数
- Linux C——进程控制相关函数
- Linux 内核--fork()函数创建进程
- Linux进程函数fork(),vfork(),execX()的深入理解
- Linux中使用C语言的fork()函数创建子进程的实例教程
- Linux进程控制fork原语
- Linux系统编程_8_进程控制之fork_wait_waitpid函数
- 守护进程使用syslog函数打印信息(基于ARM-Linux)
- Linux 内核--fork()函数创建进程 (续)之copy_mem(int nr, struct task_struct *p)
- linux中fork函数及子进程父进程进程先后
- 【经典转载】Linux进程学习系列之六 进程控制函数之exec()函数的学习
- Linux进程的创建函数fork()及其fork内核实现解析【转】
- Linux中fork()函数详解 父子进程变量的关系
- Linux下fork()&vfork()的区别、getenv()&setenv()函数以及僵尸进程、孤儿进程讲解
- Linux 进程控制--- 编程 --- getpid --- fork --- exec --- system --- wait
- 第8章(1) 进程控制 -fork函数