创建子进程与进程的状态

创建子进程与进程状态

创建子进程

一. 创建子进程的概念:
在之前我们了解过,操作系统要对进程进行管理就要先描述再组织,那么操作系统管理的原因是因为内存中存在大量的进程,那么这些进程是怎么来的呢,一部分进程是通过磁盘中的可执行程序运行后,将代码和数据加载到内存中并创建对应的PCB实现创建进程,还有一些可以通过接口来创建进程,这里通过接口创建的进程就是我们今天要将的子进程,它和前面的进程不同的是它的代码部分不是来自硬件而是来自于它的父进程,而创建一个子进程也需要创建一个它对应的PCB来将其管理起来,这就是创建子进程。

二. 创建子进程的方法:
通过fork()函数来创建子进程:
fork()函数它与普通函数不同的是,他会有两个返回值,一个返回0用来表示子进程,一个返回创建的子进程pid用来表示父进程,所以我们就可以通过fork()函数来创建子进程让两个进程共同实现代码。如下图:
在这里插入图片描述
此时在我们没有调用fork()函数的时候,当前就一个进程来运行printf函数输出I am running!这个语句,当通过fork()创建了子进程之后,下面就分开进行讨论,当返回值等于0就是子进程运行的部分代码,当返回值大于0的时候就是父进程运行的代码。

三. 关于创建子进程的几个问题

    • 0
      点赞
    • 0
      收藏
      觉得还不错? 一键收藏
    • 0
      评论

    “相关推荐”对你有帮助么?

    • 非常没帮助
    • 没帮助
    • 一般
    • 有帮助
    • 非常有帮助
    提交
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值