fork

来源:互联网 发布:手机虚拟电吉他软件 编辑:程序博客网 时间:2024/06/03 13:39

http://linux.die.net/man/2/fork

fork函数创建一个进程,是父进程的完全复制,内存之类的,但是下列的不会复制

子进程有自己的pid,唯一

父进程id是创建者ID

使用率http://linux.die.net/man/2/getrusage和CPU counter置为0

signal为空

信号量控制也不继承

记录锁也不继承

timer不继承

异步IO不继承


问题一,下列代码产生的进程数量

int i =0;for(;i<n;i++){    fork();}
产生多少个进程,包含自己

fork本身的意思就是叉开的意思,所以可以理解为二叉树的形式,即,二叉树的结点个数是进程的个数,二叉树的层数是for的n

画画图就知道了,所以最终是2^n个,包括自身


问题二,如何产生指定进程数量n


for循环,如果产生进程pid为0,return。性质利用了fork产生后在父进程是>0的pid,在子进程内是0



0 0
原创粉丝点击