设为首页
收藏本站
用户名
Email
自动登录
找回密码
密码
登录
注册
快捷导航
平台
Portal
论坛
BBS
文库
项目
群组
Group
我的博客
Space
搜索
搜索
热搜:
shell
linux
mysql
本版
用户
LinuxSir.cn,穿越时空的Linuxsir!
»
论坛
›
编程开发讨论区 —— LinuxSir.cn
›
Linux 程序设计专题讨论
›
谁帮忙解释一下fork()这个系统调用?
返回列表
查看:
695
|
回复:
2
谁帮忙解释一下fork()这个系统调用?
[复制链接]
pupilzeng
pupilzeng
当前离线
积分
2280
IP卡
狗仔卡
发表于 2003-7-23 13:53:34
|
显示全部楼层
|
阅读模式
1.fork()产生的子进程从哪里开始运行?到哪里结束?
是fork()的地方开始吗?
2.是不是fork()产生的子进程在被系统调度的时候是不是跟父进程平等的地位?
如果父进程退出或者被杀死了,子进程会怎么样?
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
显身卡
danielizg
danielizg
当前离线
积分
31
IP卡
狗仔卡
发表于 2003-7-23 15:08:31
|
显示全部楼层
系统调用fork
系统调用fork之后,内核在进程表中创建一个新条目,然后复制调用进程的(父进程)的内容:打开的文件描述符、堆栈部分、正文部分等。
内核角度分析:
进程是系统进程表中的一项内容,内核根据进程表中记录的信息来执行一个进程,拷贝了父进程的内容之后,系统已经创建好了一个新子进程,因为这两个进程的堆栈内容相同,此时都是在调用函数fork过程中。内核修改这两个进程的堆栈内容,将父进程的返回值修改为子进程的的进程号,子进程的返回值修改为0。
回复
支持
反对
使用道具
举报
显身卡
kj501
kj501
当前离线
积分
5317
IP卡
狗仔卡
发表于 2003-7-23 18:43:11
|
显示全部楼层
如果父进程在子进程结束之前退出,子进程会被init进程收养。
在置顶的论坛索引中有多进程编程的介绍,在linux编程常识中。自己先看看,不理解再问。
回复
支持
反对
使用道具
举报
显身卡
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册
本版积分规则
发表回复
回帖后跳转到最后一页
Copyright © 2002-2023
LinuxSir.cn
(http://www.linuxsir.cn/) 版权所有 All Rights Reserved.
Powered by
RedflagLinux!
技术支持:
中科红旗
|
京ICP备19024520号
快速回复
返回顶部
返回列表