国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python實現在windows服務中新建進程的方法

2020-02-23 01:40:57
字體:
來源:轉載
供稿:網友

本文實例講述了python實現在windows服務中新建進程的方法。分享給大家供大家參考。具體實現方法如下:

需要安裝的軟件:python和pywin32,我這里裝的分別是python-2.6.amd64、pywin32-217.win-amd64-py2.6

文件名:dma_ws.py

#!pythonimport win32serviceutil import win32service import win32eventimport os from subprocess import Popen, PIPEimport jsonimport signalrun_proc = Noneclass DMA_WS(win32serviceutil.ServiceFramework):  _svc_name_ = "DMA_WS" _svc_display_name_ = "DMA_WS" def __init__(self, args):   win32serviceutil.ServiceFramework.__init__(self, args)   self.hWaitStop = win32event.CreateEvent(None, 0, 0, None)  def SvcStop(self):     self.ReportServiceStatus(win32service.SERVICE_STOP_PENDING)   win32event.SetEvent(self.hWaitStop)  def SvcDoRun(self):  f = file('C:/DXMonitorSystem/dma.conf')  host = json.load(f)  f.close()  dxsrv = os.path.join(host['app_path'], 'DXHttpServer.py')  run_proc = Popen([host['ironpython'], dxsrv],      stdin=PIPE, stdout=PIPE, stderr=PIPE, shell=False,      cwd=host['app_path'])      #這里新建進程,注意cwd參數必不可少且要是絕對路徑  #res, err = run_proc.communicate()  #這個函數內的上面部分都是邏輯處理的部分,可以根據自己的需求訂制,但下面這行代碼任何服務都需要  win32event.WaitForSingleObject(self.hWaitStop, win32event.INFINITE)   run_proc.kill() # 用于關閉服務所創建的子進程  #os.kill(run_proc.pid, signal.SIGTERM)if __name__=='__main__': win32serviceutil.HandleCommandLine(DMA_WS)

使用方法:

創建服務:Python dma_ws.py install

開始服務:python dma_ws.py start

停止服務:python dma_ws.py stop

希望本文所述對大家的Python程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 保山市| 浦江县| 云南省| 天柱县| 怀来县| 拉萨市| 密山市| 乐陵市| 宜君县| 临城县| 龙游县| 页游| 左云县| 永川市| 金湖县| 昌邑市| 洛宁县| 宜川县| 云梦县| 开江县| 昭苏县| 永新县| 尖扎县| 天津市| 华阴市| 永寿县| 六盘水市| 西乌珠穆沁旗| 博野县| 江城| 卢龙县| 临朐县| 威宁| 宜川县| 江源县| 博罗县| 通海县| 罗定市| 郴州市| 福建省| 仙居县|