Windows 自動監聽程式,遊戲伺服器掛掉以後,自動監聽程式將其重啟起來
阿新 • • 發佈:2020-07-28
cmd start 命令
C:\Users\runsheng999>start/? 啟動一個單獨的視窗以執行指定的程式或命令。 START ["title"] [/D path] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED] [/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL] [/NODE <NUMA node>] [/AFFINITY <hex affinity mask>] [/WAIT] [/B] [command/program] [parameters]"title" 在視窗標題欄中顯示的標題。 path 啟動目錄。 B 啟動應用程式,但不建立新視窗。 應用程式已忽略 ^C 處理。除非應用程式 啟用 ^C 處理,否則 ^Break 是唯一可以中斷 該應用程式的方式。 I 新的環境將是傳遞 給 cmd.exe 的原始環境,而不是當前環境。 MIN 以最小化方式啟動視窗。 MAX 以最大化方式啟動視窗。 SEPARATE 在單獨的記憶體空間中啟動16 位 Windows 程式。 SHARED 在共享記憶體空間中啟動 16 位 Windows 程式。 LOW 在 IDLE 優先順序類中啟動應用程式。 NORMAL 在 NORMAL 優先順序類中啟動應用程式。 HIGH 在 HIGH 優先順序類中啟動應用程式。 REALTIME 在 REALTIME 優先順序類中啟動應用程式。 ABOVENORMAL 在 ABOVENORMAL 優先順序類中啟動應用程式。 BELOWNORMAL 在 BELOWNORMAL 優先順序類中啟動應用程式。 NODE 將首選非一致性記憶體結構(NUMA)節點指定為 十進位制整數。 AFFINITY 將處理器關聯掩碼指定為十六進位制數字。
監聽各個程序
import os import time import win32com.client def check_exsit(process_name): WMI = win32com.client.GetObject('winmgmts:') processCodeCov = WMI.ExecQuery('select * from Win32_Process where Name like "%{}%"'.format(process_name)) if len(processCodeCov) > 0: return True else: return False if __name__ == '__main__': while True : time.sleep( 10 ) res = check_exsit('CSConsole.exe') if not res : print(os.system('start "CS" /d ".\\Debug" /MIN "CSConsole.exe"')) time.sleep( 10 ) res = check_exsit('GSConsole.exe') if not res : print(os.system('start "GS" /d ".\\Debug\\GSATT2" /MIN "GSConsole.exe"')) time.sleep( 10 ) res = check_exsit('RSConsole.exe') if not res : print(os.system('start "RS" /d ".\\Debug" /MIN "RSConsole.exe"')) time.sleep( 10 )