[发明专利]Docker容器内应用进程管理方法、装置和介质有效
申请号: | 201710125107.2 | 申请日: | 2017-03-03 |
公开(公告)号: | CN107025135B | 公开(公告)日: | 2020-02-21 |
发明(设计)人: | 胡志敏 | 申请(专利权)人: | 网易(杭州)网络有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/455 |
代理公司: | 北京汉昊知识产权代理事务所(普通合伙) 11370 | 代理人: | 朱海波 |
地址: | 310052 浙江省杭州*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | docker 容器 应用 进程 管理 方法 装置 介质 | ||
本发明的实施方式提供了一种Docker容器内应用进程管理方法,该方法包括:设置初始化进程;对所述初始化进程进行分叉操作,得到初始进程和第一子进程;在初始进程进行系统信号注册操作,通过监听系统信号并将系统信号转发给所述第一子进程以及所述第一子进程执行系统调用载入到所述Docker容器内的至少一个应用进程,从而对所述第一子进程以及所述至少一个应用进程进行接管。通过对初始化进程进行分叉得到初始进程和子进程,以及初始进程利用系统信号注册和转发对子进程以及应用进程进行控制,本发明的方法使得应用进程可及时终止并可及时释放孤儿进程的资源。此外,本发明的实施方式提供了一种Docker容器内应用进程管理装置及计算机可读存储介质。
技术领域
本发明的实施方式涉及互联网技术领域,更具体地,本发明的实施方式涉及Docker容器内应用进程管理方法、装置和计算机可读存储介质。
背景技术
本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
Docker容器是一个开源的应用容器引擎,开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。开发者在其开发环境测试通过的容器可以批量的在不同版本的Linux生产环境中部署,容器可以在Ubuntu,CentOS,RHEL等支持Docker容器的操作系统版本上运行。。
现有的Docker容器的使用都是直接在容器中启动单个进程,或者通过bin/bash–C的形式调用shell脚本启动多个进程。由于容器内运行的也是Linux系统,在容器内与常规Linux不同的是,容器不包含内核。由于容器启动时,第一个启动的进程的PID为1,而Linux系统对于PID为1的进程有一些特殊的处理,所以会出现诸如应用进程无法向外部发送信号而终止以及孤儿进程资源无法释放等问题。
发明内容
但是,出于系统对于第一个进程特殊处理的原因,现有技术会产生应用进程无法终止以及孤儿进程资源无法释放的问题。
因此在现有技术中,无法对应用进程进行有效接管,这是非常令人烦恼的过程。
为此,非常需要一种改进的Docker容器内应用进程管理方法,以使应用进程可以通过系统信号进行终止,并且可及时释放孤儿进程的资源。
在本上下文中,本发明的实施方式期望提供一种Docker容器内应用进程管理方法、装置及计算机可读存储介质。
在本发明实施方式的第一方面中,提供了一种Docker容器内应用进程管理方法,包括:设置初始化进程;对所述初始化进程进行分叉操作,得到初始进程和第一子进程;在初始进程进行系统信号注册操作,通过监听系统信号并将系统信号转发给所述第一子进程以及所述第一子进程执行系统调用载入到所述Docker容器内的至少一个应用进程,从而对所述第一子进程以及所述至少一个应用进程进行接管。
在本发明的一个实施例中,该Docker容器内应用进程管理方法还包括:在初始进程记录第一子进程以及所述至少一个应用进程的PID;所述初始进程通过查找记录的所述PID,将所述系统信号转发给所记录的PID对应的所述第一子进程和所述至少一个应用进程。
在本发明的一个实施例中,在所述初始进程将系统信号转发给所述第一子进程和所述至少一个应用进程之后,该Docker容器内应用进程管理方法还包括:所述初始进程监听系统信号,确定系统信号是否包括容器运行所处LINUX环境的LINUX内核发送的SIGCHILD信号;如果所述初始进程监听到与所述第一子进程或所述应用进程关联的SIGCHILD信号,则对所述第一子进程或所述应用进程的资源进行回收处理。
在本发明的一个实施例中,该Docker容器内应用进程管理方法包括:设置所述初始进程的PID为1。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于网易(杭州)网络有限公司,未经网易(杭州)网络有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710125107.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:数据库服务系统及兼容多种数据库的方法
- 下一篇:日语形容动词活用教具