[发明专利]一种基于Python多进程库创建systemd服务的方法在审
申请号: | 201710867983.2 | 申请日: | 2017-09-22 |
公开(公告)号: | CN107729073A | 公开(公告)日: | 2018-02-23 |
发明(设计)人: | 段璐恒 | 申请(专利权)人: | 郑州云海信息技术有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445 |
代理公司: | 济南诚智商标专利事务所有限公司37105 | 代理人: | 王汝银 |
地址: | 450018 河南省郑州市*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 python 进程 创建 systemd 服务 方法 | ||
技术领域
本发明涉及系统管理技术领域,具体的说是一种基于Python多进程库创建systemd服务的方法。
背景技术
systemd是linux下的进程管理系统,主要用来管理各种进程,对一些常驻进程进行监控或者用于收发消息,便于用户通过系统实现相应的功能。
传统上对于这类功能的应用,一般都是编写一个shell脚本,然后用nohup加上后台运行符‘&’让程序在后台运行提供服务,但是这种方法智能实现简单的监控,无法实现systemd的统一管理,运维效果较差。
发明内容
为了解决上述问题,提供了一种基于Python多进程库创建systemd服务的方法,基于python的多进程库和linux的systemd系统来实现一套更加方便管理的守护进程,从而创建更易用的服务程序,提高运维效率。
本发明实施例提供了一种基于Python多进程库创建systemd服务的方法,所述的方法包括:
S1:利用Python多进程库启动子程序,并创建相应功能的主体代码;
S2:利用函数指令退出主程序;
S3:创建服务启动脚本及配置文件,并发送给systemd。
进一步的,所述的方法还包括:
S4:systemd启动服务。
进一步的,步骤S4的具体实现过程为:systemd利用systemctl命令安装服务,并启动服务。
进一步的,步骤S1的具体实现过程为:
基于想要实现的功能,在Python多进程库中选取相应的进程类;
利用选取的进程类启动其对应的子程序;
在启动的子程序内完成要进行工作的主体代码。
进一步的,步骤S2的具体实现过程为:确定子程序征程运行后,启用os._exit()函数退出主程序。
进一步的,步骤S3的具体实现过程为:
创建启动服务的脚本;
创建systemd配置文件,并将服务类型设置为forking类型;
将创建完成的所有服务信息发送给systemd。
发明内容中提供的效果仅仅是实施例的效果,而不是发明所有的全部效果,上述技术方案中的一个技术方案具有如下优点或有益效果:
1、本方案利用Python多进程库来编写符合systemd管理规范的服务,创建出来的服务可以统一被systemd管理,增加服务的可管理性,降低运维成本。
2、利用Python多进程库中相应的进程类启动其对应的子程序,并在启动的子程序内完成要进行工作的主体代码,可以实现对进程工作的守护,确保进程不会意外终止。
3、利用os._exit()函数退出主程序,不会对程勋运行产生影响,为后续创建符合systemd管理规范的服务提供了便利。
附图说明
图1是本发明实施例1的方法流程图;
图2是本发明实施例2的方法流程图。
具体实施方式
为能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。
实施例1
如图1所示的一种基于Python多进程库创建systemd服务的方法,所述的方法包括:
S1:利用Python多进程库启动子程序,并创建相应功能的主体代码。具体实现过程为:
1)基于想要实现的功能,在Python多进程库中选取相应的进程类。
2)利用选取的进程类,启动其对应的子程序。
3)在启动的子程序内完成要进行工作的主体代码,主要目的是确保子程序可以单独实现进程功能。
S2:利用函数指令退出主程序。具体实现过程为:确定子程序征程运行后,启用os._exit()函数退出主程序。
S3:创建服务启动脚本及配置文件,并发送给systemd。具体实现过程为:首先,创建启动服务的脚本;然后,创建编写systemd配置文件,并将服务类型设置为forking类型;最后,将创建完成的所有服务信息发送给systemd。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州云海信息技术有限公司,未经郑州云海信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710867983.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种基于RFID的超市运营售货系统
- 下一篇:一种电压暂降经济损失评估方法