当前位置: 技术问答>linux和unix
问2个比较傻的关于进程的问题~~~~~~~~~~
来源: 互联网 发布时间:2016-04-06
本文导语: 我新接触linux进程的概念,有几个地方想不通,网上也没找到资料,所以只好请教各位啦~~~~~ 1,用fork()函数创建一个新进程的时候,实际是复制父进程。但是我想不通为什么创建一个新进程要复制别的进程呢,为...
我新接触linux进程的概念,有几个地方想不通,网上也没找到资料,所以只好请教各位啦~~~~~
1,用fork()函数创建一个新进程的时候,实际是复制父进程。但是我想不通为什么创建一个新进程要复制别的进程呢,为什么不是创建一个空进程然后再使用?有什么原理,还是linux就这么规定的?
2,看了好多资料都是说“fork()从已经存在的进程中创建一个新进程,新进程称为子进程,原进程称为父进程”。linux运行时已有的进程有几十个,那么fork()是选择哪一个作为新进程的父进程呢?难不成是随机选择一个???
1,用fork()函数创建一个新进程的时候,实际是复制父进程。但是我想不通为什么创建一个新进程要复制别的进程呢,为什么不是创建一个空进程然后再使用?有什么原理,还是linux就这么规定的?
2,看了好多资料都是说“fork()从已经存在的进程中创建一个新进程,新进程称为子进程,原进程称为父进程”。linux运行时已有的进程有几十个,那么fork()是选择哪一个作为新进程的父进程呢?难不成是随机选择一个???
|
1. 之所以用复制而不是创建一个空进程是为了提高创建新进程的速度.
2.谁调用的fork 谁就是它父亲.
2.谁调用的fork 谁就是它父亲.
|
int main()
{
pid_t rtn = fork();
if (rtn
{
pid_t rtn = fork();
if (rtn