Linux进程

目录

一、进程的概念

(1)概念

(2)相关指令

二、父子孤尸

三、进程的标识

四、创建子进程

五、进程间关系

六、进程的终止

(1)正常终止​编辑

(2)注册退出处理函数

(3)exit的底层调用

(4)异常终止

七、回收子进程

(1)wait

(2)waitpid

八、创建新进程

(1)exec家族​编辑

(2)system


一、进程的概念

(1)概念

(2)相关指令

二、父子孤尸

僵尸进程是指的进程终止之后,产生的终止状态被保存在内存中,等待父进程读取并回收这个终止状态。

三、进程的标识

        

四、创建子进程

五、进程间关系

        

因为代码区是不可修改的只读常量区,所以不需要使用两块不同的内存来存储信息;但是其他区域由于会有修改的可能,所以用到了两块不同的内存区域去存储信息。

所以父进程和子进程使用的是同样的一个文件表项,也就是说父进程对文件的操作会同步影响到子进程

六、进程的终止

        (1)正常终止

在正常终止的情况下,会有几件收尾工作:

        1.调用功能退出处理函数

        2.冲刷并关闭所有I/O流

        3.删除临时文件

        4.调用_exit(status);

(2)注册退出处理函数

        只要是由return和exit结束的进程都会由操作系统自动调用退出处理函数,我们只需要注册一下退出处理函数即可完成我们想要的结果,就好像c++中的析构函数。

       

 (3)exit的底层调用

(4)异常终止

七、回收子进程

(1)wait

可以看到,我们这里在父进程中使用了wait函数去阻塞的方式等待子进程的结束,然后去收尸清理资源,但是因为子进程在死循环,不能被收尸,所以导致父进程也不能往下执行了。

(2)waitpid

waitpid就好像是一个进阶版的wait,他可以自由的选择是阻塞模式收尸还是非阻塞方式收尸,并且可以选择具体要收哪一个子进程的尸体。

八、创建新进程

        (1)exec家族

(2)system

对于一般的创建新进程,我们建议使用system,因为不急操作方便,而且不容易出现错误,且他是标准库函数,各个平台都有很好的兼容性。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值