免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 940 | 回复: 0
打印 上一主题 下一主题

进程的创建fork [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-12-12 16:55 |只看该作者 |倒序浏览
本人觉的进程创建函数fork()和其他的函数有点不一样.所以单独记录下来
(1)fork函数说明
和以往遇到的函数很大的区别在于,它执行一次却返回两个值.
fork函数用于从已存在的进程中创建一个新的进程.新进程称为子进程,而原进程称为父进程.这两个分别带回它们各自的返回值,其中父进程的返回值是子进程的进程号,而子进程则返回0,因此,可以通过返回值来判断该进程是父进程还是子进程.
(2)fork函数语法
fork函数的语法格式如下所示.
头文件
#include //提供类型pid_t的定义
#include
函数原型
pid_t fork(void)
函数返回值
0:子进程
子进程ID(大于0的整数):父进程
-1:出错
(3)fork函数调用实例子
/*调用fork函数,其返回值为result*/
int result=fork();
/*通过result的值来判断fork函数的返回情况,首先进行出错处理 */
if(result == -1)
{
perror("fork");
exit;
}
/*返回值为0代表子进程 */
else if(result == 0)
{
........../*子进程相关语句 */
}
/*返回值大于0代表父进程 */
else
{
......./*父进程相关语句 */
}


注意:fork函数使用一次就创建一个进程.所以如把fork函数放在了if...else判断语句中则要小心,不能多次使用fork函数

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/86532/showart_1716224.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP