国产探花免费观看_亚洲丰满少妇自慰呻吟_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程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 岳阳县| 南郑县| 修武县| 咸宁市| 崇明县| 南岸区| 双流县| 会昌县| 巴彦淖尔市| 邮箱| 博兴县| 太白县| 普兰县| 钟山县| 汝州市| 尉氏县| 家居| 阿克苏市| 青浦区| 莱西市| 阜康市| 安义县| 金阳县| 延长县| 奉贤区| 贵阳市| 陇川县| 桑植县| 许昌市| 沾化县| 石首市| 天长市| 肇东市| 陵川县| 宁蒗| 永新县| 江阴市| 铜山县| 海城市| 荣成市| 叙永县|