游戲守護進程-WINDOWS版,是用的VBS寫的,適用於Windows 2003中的x86和Windows 2003的X64。
游戲程序的開啟一般是需要按照指定的順序開啟的,這裡以標准的db-gs-gg的架構為例,正常的開啟順序為db-gs-gg,如果gg程序掛了,一般我們手動的判斷流程是先判斷db程序是否正常,然後判斷gs程序是否正常,都沒有問題,然後再開啟gg程序,該腳本就是按照該關聯關系判斷的原則進行處理的。
所有的配置信息存放在setting.ini
“說明
“名項配置服務或程序,名稱,設定為設定為任務管理器中的圖像名稱
“類型項配置需要守護的進程為S(服務)或是P(程序)
‘process項配置程序的絕對路徑或服務名稱,如果守護進程和程序放在同一目錄可配置相對路徑
“相關項配置是(Y)否(N)有關聯程序
“日志項配置日志存放路徑,默認deamon.log,存放守護進程目錄
[設定]
名稱= EMeditor.exe
= S型
過程= zhudongfangyu
相關= Y
LOGFILE =
relate_ip項配置關聯程序,/服務的IP,本機可配置本地主機
relate_port項配置關聯程序,/服務的端口號目前只支持TCP端口
[相關]
relate_ip = 192.168.30.109
relate_port = 139
如果配置了關聯關系,即relate=y,則會程序開啟前會自動判斷關聯程序是否正常,需使用check_tcp,是一個第三方判斷tcp端口的程序,將check_tcp.zip中的check_tcp.exe放在setting.ini同一目錄中即可。
守護進程主程序源代碼如下:
出錯時繼續下一步
路徑=左(Wscript.ScriptFullName,LEN(Wscript.ScriptFullName)LEN(Wscript.ScriptName)的)
‘定義函數
功能的GetFile(strPath,日期聯絡)
設置objFSO =的CreateObject(“Scripting.FileSystemObject的”)
設置objFile = objFSO.OpenTextFile(strpath 1)
做,直到objFile.AtEndOfStream
strLine = objFile.ReadLine
如果INSTR(strLine,日期聯絡)
GETFILE = strLine
如果最後
循環
objFile.Close
函數結束
‘函數結束
設置objFS =的CreateObject(“Scripting.FileSystemObject的”)
‘讀取配置文件
settingfile =“setting.ini”
名稱= GETFILE(settingfile“的名稱)
PTYPE = GETFILE(settingfile,“類型=”)
過程= GETFILE(settingfile,“過程=”)
涉及= GETFILE(settingfile,“涉及=”)
LOGFILE = GETFILE(settingfile“的日志文件=)
RNAME = LCASE(右(名稱,LEN(姓名)-5))
rtype = LCASE(右(PTYPE,LEN(PTYPE)-5))
rprocess = LCASE(右(過程中,LEN(過程)-8))
rrelate =右(相關,LEN(涉及)-7)
rlog =右(日志,LEN(日志)-8)
“判斷的日志目錄是否設置
如果rlog =“”,然後
rlog“deamon.log”
如果最後
判斷記錄是否存在
如果objFS.fileExists(rlog)= FLASE然後
objFS.CreateTextFile(rlog)
設置objNF1 = objFS.OpenTextFile(rlog 8)