[发明专利]进程维护管理方法、容器维护方法、装置和操作系统有效
申请号: | 201710560644.X | 申请日: | 2017-07-11 |
公开(公告)号: | CN109240809B | 公开(公告)日: | 2022-08-23 |
发明(设计)人: | 陈显鹭;车漾;陈萌辉;秦妤嘉 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50 |
代理公司: | 北京国昊天诚知识产权代理有限公司 11315 | 代理人: | 黄熊 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 进程 维护 管理 方法 容器 装置 操作系统 | ||
本申请提供了一种进程维护管理方法、容器维护方法、装置和操作系统,该方法包括:Daemon进程创建容器进程,并在该容器进程的命名空间设置用于表示进程类型为容器进程的标识,并将该容器进程在该操作系统的内核的全局PID列表中的PID存储到指定存储空间;在该Daemon进程崩溃后,该操作系统中的init进程接管包括容器进程在内的孤儿进程,确定该孤儿进程中命名空间设置有该标识的进程为容器进程,并确定保留容器进程的资源;重启的Daemon进程获取该指定存储空间中的PID,并恢复重启的Daemon进程对该指定存储空间中的PID对应的容器进程的控制。
技术领域
本申请涉及计算机软件技术领域,尤其涉及一种进程维护管理方法、容器维护方法、装置和操作系统。
背景技术
在Linux操作系统中,每个容器(Container)进程都是Daemon进程的子进程,由Daemon进程创建;每个Container进程都具有不同的PID命名空间。通过命名空间技术,可实现容器间的进程隔离。另外,Daemon进程也会利用PID命名空间的树状结构,实现了对容器中的进程交互、监控和回收。
但是,在现有技术的方案中,一旦Daemon进程崩溃,其所创建的容器都会丢失,且容器内的正常服务都会中断,从而导致服务不可用。
如何避免Daemon进程的崩溃影响容器内服务的使用,是本申请所要解决的技术问题。
发明内容
本申请实施例的目的是提供一种进程维护管理方法、容器维护方法、装置和操作系统,能够增加操作系统的鲁棒性。
为解决上述技术问题,本申请实施例是这样实现的:
第一方面,提供了一种操作系统的容器维护方法,该方法包括:
操作系统中的Daemon进程创建容器进程,并在该容器进程的命名空间设置用于表示进程类型为容器进程的标识,并将该容器进程在该操作系统的内核的全局进程身份标识PID列表中的PID存储到指定存储空间;
在该Daemon进程崩溃后,该操作系统中的init进程接管包括容器进程在内的孤儿进程,确定该孤儿进程中命名空间设置有该标识的进程为容器进程,并确定保留容器进程的资源;
重启的Daemon进程获取该指定存储空间中的PID,并恢复重启的Daemon进程对该指定存储空间中的PID对应的容器进程的控制。
第二方面,提供了一种容器维护装置,该装置包括:
容器创建模块,通过操作系统中的Daemon进程创建容器进程,并在该容器进程的命名空间中标记进程类型为容器进程,并将该容器进程在该操作系统中的内核的全局进程身份标识PID列表中的PID存储到指定存储空间;
容器接管模块,在Daemon进程崩溃后,通过该操作系统中的init进程包括容器进程在内的孤儿进程,确定该孤儿进程中命名空间设置有该标识的进程为容器进程,并确定保留容器进程的资源;
进程重启模块,用于在该Daemon进程崩溃后重启Daemon进程;
容器恢复模块,通过重启的Daemon进程获取该指定存储空间中的PID,并恢复该重启的Daemon进程对该指定存储空间中的PID对应的容器进程的控制。
第三方面,提供了一种电子设备,该装置包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,该可执行指令在被执行时使该处理器执行以下操作:
通过操作系统中的Daemon进程创建容器进程,并在该容器进程的命名空间中标记进程类型为容器进程,并将该容器进程在该操作系统中的内核的全局进程身份标识PID列表中的PID存储到指定存储空间;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710560644.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:挖矿方法、装置、计算机设备及存储介质
- 下一篇:一种任务执行方法和装置