码迷,mamicode.com
首页 > 系统相关 > 详细

Linux-进程控制中的函数

时间:2014-11-07 22:06:55      阅读:255      评论:0      收藏:0      [点我收藏+]

标签:linux内核   linux进程调度   

1.几个创建进程函数的对比

    ?#fork():

    ?    ?源码:

    ?    ?执行结果:

    ?    ?    ?in the parent process!

    ?    ?    ?in the child process!

    ?    ?分析:fork()调用一次,返回两次,分别在父进程和子进程返回(但是顺序不确定)

    ?    ?    ?

    ?#vfork()

    ?    ?源代码:


    ?    ?执行结果:

    ?    ?    ?process id:12845

    ?    ?    ?gvar=2 var=5the child process id:12846

    ?    ?    ?gvar=1 var=6

    ?    ?    ?the parent process id:12845

    ?    ?    ?gvar=1 var=6

    ?    ?分析:若是把vfork()换成fork(),输入结果变为:

    ?    ?    ?    ?    ?    ?process id:12856

    ?    ?    ?    ?    ?    ?gvar=2 var=5the parent process id:12856

    ?    ?    ?    ?    ?    ?gvar=2 var=5

    ?    ?    ?    ?    ?    ?gvar=2 var=5the child process id:12857

    ?    ?    ?    ?    ?    ?gvar=1 var=6

    ?    ?    ?    ?  说明,fork()创建进程时会复制父进程的资源,而vfork()不会复制父进程资源,与父进程共享地址空间  ?    ?

    ?    ?    ?


Linux-进程控制中的函数

标签:linux内核   linux进程调度   

原文地址:http://blog.csdn.net/luoyhang003/article/details/40899797

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!