[發(fā)明專利]一種基于Python多進程庫創(chuàng)建systemd服務(wù)的方法在審
| 申請?zhí)枺?/td> | 201710867983.2 | 申請日: | 2017-09-22 |
| 公開(公告)號: | CN107729073A | 公開(公告)日: | 2018-02-23 |
| 發(fā)明(設(shè)計)人: | 段璐恒 | 申請(專利權(quán))人: | 鄭州云海信息技術(shù)有限公司 |
| 主分類號: | G06F9/445 | 分類號: | G06F9/445 |
| 代理公司: | 濟南誠智商標專利事務(wù)所有限公司37105 | 代理人: | 王汝銀 |
| 地址: | 450018 河南省鄭州市*** | 國省代碼: | 河南;41 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 python 進程 創(chuàng)建 systemd 服務(wù) 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及系統(tǒng)管理技術(shù)領(lǐng)域,具體的說是一種基于Python多進程庫創(chuàng)建systemd服務(wù)的方法。
背景技術(shù)
systemd是linux下的進程管理系統(tǒng),主要用來管理各種進程,對一些常駐進程進行監(jiān)控或者用于收發(fā)消息,便于用戶通過系統(tǒng)實現(xiàn)相應(yīng)的功能。
傳統(tǒng)上對于這類功能的應(yīng)用,一般都是編寫一個shell腳本,然后用nohup加上后臺運行符‘&’讓程序在后臺運行提供服務(wù),但是這種方法智能實現(xiàn)簡單的監(jiān)控,無法實現(xiàn)systemd的統(tǒng)一管理,運維效果較差。
發(fā)明內(nèi)容
為了解決上述問題,提供了一種基于Python多進程庫創(chuàng)建systemd服務(wù)的方法,基于python的多進程庫和linux的systemd系統(tǒng)來實現(xiàn)一套更加方便管理的守護進程,從而創(chuàng)建更易用的服務(wù)程序,提高運維效率。
本發(fā)明實施例提供了一種基于Python多進程庫創(chuàng)建systemd服務(wù)的方法,所述的方法包括:
S1:利用Python多進程庫啟動子程序,并創(chuàng)建相應(yīng)功能的主體代碼;
S2:利用函數(shù)指令退出主程序;
S3:創(chuàng)建服務(wù)啟動腳本及配置文件,并發(fā)送給systemd。
進一步的,所述的方法還包括:
S4:systemd啟動服務(wù)。
進一步的,步驟S4的具體實現(xiàn)過程為:systemd利用systemctl命令安裝服務(wù),并啟動服務(wù)。
進一步的,步驟S1的具體實現(xiàn)過程為:
基于想要實現(xiàn)的功能,在Python多進程庫中選取相應(yīng)的進程類;
利用選取的進程類啟動其對應(yīng)的子程序;
在啟動的子程序內(nèi)完成要進行工作的主體代碼。
進一步的,步驟S2的具體實現(xiàn)過程為:確定子程序征程運行后,啟用os._exit()函數(shù)退出主程序。
進一步的,步驟S3的具體實現(xiàn)過程為:
創(chuàng)建啟動服務(wù)的腳本;
創(chuàng)建systemd配置文件,并將服務(wù)類型設(shè)置為forking類型;
將創(chuàng)建完成的所有服務(wù)信息發(fā)送給systemd。
發(fā)明內(nèi)容中提供的效果僅僅是實施例的效果,而不是發(fā)明所有的全部效果,上述技術(shù)方案中的一個技術(shù)方案具有如下優(yōu)點或有益效果:
1、本方案利用Python多進程庫來編寫符合systemd管理規(guī)范的服務(wù),創(chuàng)建出來的服務(wù)可以統(tǒng)一被systemd管理,增加服務(wù)的可管理性,降低運維成本。
2、利用Python多進程庫中相應(yīng)的進程類啟動其對應(yīng)的子程序,并在啟動的子程序內(nèi)完成要進行工作的主體代碼,可以實現(xiàn)對進程工作的守護,確保進程不會意外終止。
3、利用os._exit()函數(shù)退出主程序,不會對程勛運行產(chǎn)生影響,為后續(xù)創(chuàng)建符合systemd管理規(guī)范的服務(wù)提供了便利。
附圖說明
圖1是本發(fā)明實施例1的方法流程圖;
圖2是本發(fā)明實施例2的方法流程圖。
具體實施方式
為能清楚說明本方案的技術(shù)特點,下面通過具體實施方式,并結(jié)合其附圖,對本發(fā)明進行詳細闡述。下文的公開提供了許多不同的實施例或例子用來實現(xiàn)本發(fā)明的不同結(jié)構(gòu)。為了簡化本發(fā)明的公開,下文中對特定例子的部件和設(shè)置進行描述。此外,本發(fā)明可以在不同例子中重復(fù)參考數(shù)字和/或字母。這種重復(fù)是為了簡化和清楚的目的,其本身不指示所討論各種實施例和/或設(shè)置之間的關(guān)系。應(yīng)當注意,在附圖中所圖示的部件不一定按比例繪制。本發(fā)明省略了對公知組件和處理技術(shù)及工藝的描述以避免不必要地限制本發(fā)明。
實施例1
如圖1所示的一種基于Python多進程庫創(chuàng)建systemd服務(wù)的方法,所述的方法包括:
S1:利用Python多進程庫啟動子程序,并創(chuàng)建相應(yīng)功能的主體代碼。具體實現(xiàn)過程為:
1)基于想要實現(xiàn)的功能,在Python多進程庫中選取相應(yīng)的進程類。
2)利用選取的進程類,啟動其對應(yīng)的子程序。
3)在啟動的子程序內(nèi)完成要進行工作的主體代碼,主要目的是確保子程序可以單獨實現(xiàn)進程功能。
S2:利用函數(shù)指令退出主程序。具體實現(xiàn)過程為:確定子程序征程運行后,啟用os._exit()函數(shù)退出主程序。
S3:創(chuàng)建服務(wù)啟動腳本及配置文件,并發(fā)送給systemd。具體實現(xiàn)過程為:首先,創(chuàng)建啟動服務(wù)的腳本;然后,創(chuàng)建編寫systemd配置文件,并將服務(wù)類型設(shè)置為forking類型;最后,將創(chuàng)建完成的所有服務(wù)信息發(fā)送給systemd。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于鄭州云海信息技術(shù)有限公司,未經(jīng)鄭州云海信息技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710867983.2/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 一種基于Python語言的網(wǎng)格系統(tǒng)實現(xiàn)方法
- 一種基于模塊鉤子的Python字節(jié)碼文件保護方法
- 一種通過加密Python明文源碼token的知識產(chǎn)權(quán)保護系統(tǒng)
- 一種創(chuàng)建Python沙盒環(huán)境的方法及電子設(shè)備
- 圖形化Python編程交互方法、系統(tǒng)及電子設(shè)備
- 一種基于Ambari實現(xiàn)Python組件管理的方法
- 一種基于Java自動調(diào)用Python腳本的方法
- Python與Scratch交互式編程方法及電子設(shè)備
- 一種 Python 源碼安全防護的實現(xiàn)方法及系統(tǒng)
- 一種生成python項目結(jié)構(gòu)圖的方法、系統(tǒng)及介質(zhì)
- 圖冊創(chuàng)建設(shè)備、圖冊創(chuàng)建方法和圖冊創(chuàng)建程序
- 一種使用創(chuàng)建接口來靈活創(chuàng)建對象的方法
- 報告創(chuàng)建系統(tǒng)、報告創(chuàng)建裝置以及報告創(chuàng)建方法
- 文本創(chuàng)建系統(tǒng)、文本創(chuàng)建裝置、文本創(chuàng)建方法
- 文檔創(chuàng)建設(shè)備、文檔創(chuàng)建系統(tǒng)及文檔創(chuàng)建方法
- 剪報創(chuàng)建方法和剪報創(chuàng)建系統(tǒng)
- 數(shù)據(jù)創(chuàng)建裝置、數(shù)據(jù)創(chuàng)建方法及數(shù)據(jù)創(chuàng)建程序
- 信息創(chuàng)建方法及信息創(chuàng)建裝置
- 報告創(chuàng)建系統(tǒng)和報告創(chuàng)建方法
- 創(chuàng)建改進的顏色的顏色創(chuàng)建裝置及顏色創(chuàng)建方法





