进程之基础知识

来源:互联网 发布:centos6.5 yum网络配置 编辑:程序博客网 时间:2024/06/09 22:46
 

作者:倪健树,华清远见嵌入式培训中心讲师。

1、进程会创建新的地址空间:

子进程是父进程的复制品,在fork之后子进程获得父进程的数据空间、堆和栈的复制品,这就是子进程所拥有的拷贝。(线程使用当前的地址空间)

2、进程结束的五种原因:

正常终止:

        1>从主函数main返回
                2>调用exit
                3>调用_exit

异常终止:

        1>调用abort
                2>由一个信号终止

不管进程如何终止,最后都会执行内核中的同一段代码。这段代码为相应的进程关闭所有打开描述符,释放它所使用的存储器等等。

3、exit和_exit函数

_exit立即进入内核,exit则先执行一些清除处理(包括调用执行各终止处理程序,关闭所有标准I/O流等),然后进入内核。

4、由fork创建的新进程被称为子进程,被调用该函数一次,但返回两次。两次返回的区别是子进程的返回值是0,而父进程的返回值是新子进程的进程ID。将子进程ID返回给父进程的理由是:因为一个进程的子进程可以多于一个,所以没有一个函数使一个进程可以获得其所有子进程的进程ID。fork使子进程得到的返回值0的理由是:一个进程只会有一个父进程,所以子进程总是可以调用getppid以获得其父进程的进程ID(进程ID0总是由交换进程使用,所以一个子进程的进程ID不可能为0)。

5、fork之后是父进程先执行还是子进程先执行是不确定的,这取决于内核所使用的调度算法,如果要求父、子进程之间相互同步,则要求某种形式的进程间通信。

6、fork的两种用法:

1)一个父进程希望复制自己,使父、子进程同时执行不同的代码段。例如:父进程等待服务请求,当请求到达时,父进程调用fork,使子进程处理此请求。父进程则继续等待下一个服务请求。

2)一个进程要执行一个不同的程序。子进程在从fork返回后立即调用exec。

7、在说明fork函数时,一定是一个父进程生成一个子进程。子进程将其终止的状态返回给父进程。但是如果父进程在子进程之前终止,则将如何呢?

8、对于其父进程已经终止的所有进程,它们的父进程都改变为init进程。我们称这些进程由init进程领养。保证每一个进程都有一个父进程。

9、一个已经终止、但是其父进程尚未对其进行善后处理(获取终止进程的有关信息、释放它仍占用的资源)的进程被称为将死进程。被init领养的进程不会变成僵死进程,init会自动调用。

10、exec函数族:exec函数族可以根据指定的文件名或目录找到可执行文件,启动另一个执行程序,并用它来取代原调用进程的数据段、代码段和堆栈段。在执行完之后,原调用进程的内容除了进程号外,其他全部都被替换了。可执行文件既可以是二进制文件,也可以是任何Linux下可执行的脚本文件。

11、exec函数族使用的场合:

1)当进程认为自己不能再为系统和用户做出任何贡献时就可以调用exec函数时,执行新的程序
2)如果某个进程想同时执行另一个程序,可以调用fork函数创建子进程,然后在子进程中调用任何一个exec函数。

嵌入式及3G相关资源及学习请点击:嵌入式开发视频 android开发视频 android培训 3G培训 QT培训 QT开发视频 物联网培训 物联网技术视频 嵌入式学习    

 

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 登录小米云服务怎么删除密码怎么办 苹果6云空间连接不上怎么办 买家收到淘宝网交易异常通知怎么办 快递把我秒杀的货弄丢了怎么办 手机淘宝退货物流单号填错了怎么办 买家要求退货退款但是不发货怎么办 多给买家寄包裹不接电话怎么办 给买家发货物流单号错了怎么办 淘宝退货退款快递单号填错了怎么办 淘宝不小心点了延迟收货怎么办 淘宝快递地址错了货已经发了怎么办 卖家送运费险买家填错单号怎么办 买家无赖点了延迟收货卖家怎么办 淘宝卖家快递单号填错了怎么办 淘宝店有当天的快递忘记发货怎么办 在美国官网买东西少寄了东西怎么办 闲鱼退货货收了不退钱怎么办 闲鱼退货卖家收到东西不退钱怎么办 淘宝店铺物流服务给差评怎么办 在合肥东方融资网被骗了怎么办 微信今年绑定频繁明年再试怎么办 手机号码注销了微信密码忘了怎么办 摄像师把婚礼资料弄丢了怎么办 青岛拍的婚纱照修的不好怎么办 鞋店剩的鞋都是小码的怎么办 淘宝想买的衣服下架了怎么办 买家要求到付仲裁发生运费怎么办 淘宝退货退款页面刷新不出来怎么办 淘宝退货退款快递单号写错了怎么办 淘宝上已经退款的店家还发货怎么办 千牛买家下单付款了卖家怎么办 京东货到付款支付宝支付退款怎么办 美萍餐饮管理系统下单错误怎么办 淘宝店上传宝贝显示空间不足怎么办 淘宝店品牌被投诉未授权怎么办 淘宝天猫退货单号填错了怎么办 淘宝退货我把快递单号弄丢了怎么办 唯品会退货快递单号填错了怎么办 天猫换货写错运单号怎么办 训练衣舍的店铺名连接怎么办 兼职模特被骗去微整还贷了款怎么办