Python腳本實現(xiàn)監(jiān)聽服務(wù)器的思路代碼詳解
開前準備
Schedule使用方法。
基本的Linux操作
Python3環(huán)境
Step1
首先我得先假設(shè)你會了如何每十五分鐘去運行一次檢查這件事情。(后期我會補上如何去做定時任務(wù),相信我!)
代碼量比較少,選擇在Linux環(huán)境下直接寫腳本。
import os #使用os的popen執(zhí)行bash命令 content=os.popen("lsof -i:8080").read()
輸出一下content看看,就是命令行執(zhí)行輸出的內(nèi)容,看關(guān)鍵詞webcache,但是輸出的已經(jīng)是文本文件了,可以直接使用find()函數(shù)去找這個“webcache”字眼,當服務(wù)崩掉的時候,肯定是沒有這個字眼的,find()的返回值就為1,看到這,是不是有些思路了呢?
str(content).find("webcache")
返回值是113(服務(wù)沒崩的時候)
下面貼出一段代碼
serverInfo=os.popen("lsof -i:8080").read() serverInfoStr=str(serverInfo).find("webcache") if not serverInfoStr == -1: #insertLog(content=content_enum["SERVER_OK"],status=200,equId="server001") #加入數(shù)據(jù)庫 else: #服務(wù)器掛掉 #insertLog(content=content_enum["SERVER_ERROR"],status=404,equId="server001") #執(zhí)行指令 os.system(" nohup java -jar miaosha-0.0.1-SNAPSHOT.jar &")
這就是簡單實現(xiàn)服務(wù)監(jiān)聽的代碼片段,有空再更新如何用定時任務(wù)進行定時監(jiān)聽~
總結(jié)
到此這篇關(guān)于Python腳本實現(xiàn)監(jiān)聽服務(wù)器的思路代碼詳解的文章就介紹到這了,更多相關(guān)python監(jiān)聽服務(wù)器內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python中try excpet BaseException(異常處理捕獲)的使用
本文主要介紹了Python中try excpet BaseException(異常處理捕獲)的使用,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03python實現(xiàn)批量獲取指定文件夾下的所有文件的廠商信息
這篇文章主要介紹了python實現(xiàn)批量獲取指定文件夾下的所有文件的廠商信息的方法,是非常實用的技巧,涉及到文件的讀寫與字典的操作等技巧,需要的朋友可以參考下2014-09-09詳解python 拆包可迭代數(shù)據(jù)如tuple, list
拆包是指將一個結(jié)構(gòu)中的數(shù)據(jù)拆分為多個單獨變量中。下面通過本文給大家介紹python 拆包可迭代數(shù)據(jù)如tuple, list的相關(guān)資料,需要的朋友參考下吧2017-12-12python把數(shù)據(jù)導(dǎo)出生成excel文件的方法小結(jié)
在Python中,將數(shù)據(jù)導(dǎo)出生成Excel文件,最常用的庫之一是openpyxl(用于處理.xlsx文件)和pandas,以下將分別介紹如何使用這兩個庫來生成Excel文件,感興趣的小伙伴跟著小編一起來看看吧2024-09-09