最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

實現(xiàn)守護(hù)進(jìn)程的幾種實現(xiàn)方式

2021-02-11 20:05 作者:CScript  | 我要投稿

文章如排版如果有問題請移步:CScript公眾號

假如你使用Python,Nodejs或是Golang等其他語言編寫一個web project,一旦準(zhǔn)備將其發(fā)布到Production環(huán)境,就需要考慮使用什么樣的方式是將這個web服務(wù)的進(jìn)程常駐在服務(wù)器之中。

? ? 這一步操作就是守護(hù)進(jìn)程,實現(xiàn)守護(hù)進(jìn)程的方式很多,一般編程語言都會內(nèi)置進(jìn)程管理相關(guān)的function。以nodejs為例:

parent.js:


child.js:

執(zhí)行 parent.js 創(chuàng)建子進(jìn)程,然后退出父進(jìn)程。這時就實現(xiàn)了子進(jìn)程的守護(hù)狀態(tài)。

運行中的node子進(jìn)程

? ? 在部署web應(yīng)用的時候我們一般不需要自己用代碼實現(xiàn)守護(hù)進(jìn)程的腳本,因為對于進(jìn)程狀態(tài)的管理還是略微有些繁瑣的,不同的語言實現(xiàn)的方式各自都不太一樣。這部分工作有不少工具可以cover, PM2(process manager 2)就是我經(jīng)常使用的工具之一,PM2使用js編寫的,一個進(jìn)程管理工具,它不僅可以守護(hù)進(jìn)程,還可以利用cpu的多核特做于負(fù)載均衡。它不僅可以運行js文件還可以運行其他語言腳本文件,sh文件,binary文件等,美中不足的是除了js文件之外,對于其他腳本功能支持有限。

通過pm2可以對應(yīng)用進(jìn)行監(jiān)控:


pm2監(jiān)控


另外一種方式介紹下Systemd(system deamom),systemd是linux的內(nèi)置應(yīng)用。我最近剛好使用Systemd為Golang編譯之后的binary文件編寫了配置了守護(hù)進(jìn)程的文件。

????使用systemd添加守護(hù)進(jìn)程服務(wù)首先要先在etc/systemd/system目錄下創(chuàng)建一個配置文件?app.service:

文件保存之后需要執(zhí)行:

然后可以通過類nginx 的systemd命令管理應(yīng)用的進(jìn)程:

這里本來應(yīng)該有示意圖,但是我的 vps剛剛被ban。

除了我提到的以上幾種方式之外還有不少其他解決方案。例如使用Python實現(xiàn)的Supervisor等等。總之把web服務(wù)部署到服務(wù)器就要對守護(hù)進(jìn)程有所了解。

更多關(guān)于CScrit頻道的信息: 請關(guān)注CScript


實現(xiàn)守護(hù)進(jìn)程的幾種實現(xiàn)方式的評論 (共 條)

分享到微博請遵守國家法律
云林县| 和田县| 神池县| 和平区| 昆山市| 临沂市| 乌恰县| 镇远县| 潜江市| 莱西市| 武平县| 松江区| 海兴县| 靖州| 银川市| 柯坪县| 登封市| 鄱阳县| 龙海市| 河曲县| 江达县| 陆丰市| 永春县| 科尔| 东方市| 屏南县| 黎城县| 日土县| 宁都县| 元江| 仁化县| 敦化市| 甘德县| 来凤县| 敖汉旗| 西林县| 库伦旗| 老河口市| 根河市| 方正县| 高州市|