青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆-167  評論-8  文章-0  trackbacks-0
用python寫windows服務(wù)(1)

以python2.5 為例
需要軟件

        * python 2.5
        * pywin32(與2.5 版本相匹配的)

Service Control Manager (SCM)

服務(wù)管理器(SCM) 是windows NT的 一部分,所有服務(wù)必須通過SCM 注冊,SCM負責(zé)啟動,停止服務(wù)等。

當(dāng)一個進程通過SCM注冊后, 有如下特質(zhì):

        * 運行該進程的用戶,未必是當(dāng)前登錄的用戶。
        * 該進程如果依賴其他服務(wù),哪么該服務(wù)啟動前,依賴服務(wù)回啟動。該服務(wù)停止后,依賴服務(wù)會停止。(估計是應(yīng)用計數(shù)減1)
        * 服務(wù)可知計算機啟動后自動啟動,或者手動啟動。

windows NT 通過執(zhí)行一個進程開始相應(yīng)服務(wù)。一旦這個進程執(zhí)行,它需要告知SCM它實際上是作為一個服務(wù)運行。還需要傳給SCM一個控制句柄(control handler)。其實就是一個函數(shù),用于處理SCM 發(fā)來的相關(guān)信息。 當(dāng)服務(wù)被停止時, SCM傳信息給控制句柄。服務(wù)本身負責(zé)處理該請求,并停止本身服務(wù)。
pywin32 服務(wù)相關(guān)module

        * win32service 實現(xiàn)了Win32服務(wù)功能。
        * win32serviceutil 對api的包裝,始面向用戶的接口更友好。
        * PythonService.exe 使用pywin32 服務(wù)器,它必須先注冊。

下面重點講 win32serviceutil
服務(wù)框架類

win32serviceutil.ServiceFramework

__init__

    構(gòu)造函數(shù),注冊ServiceCtrlHandler給SCM

ServiceCtrlHandler

    本服務(wù)的control handler 的默認實現(xiàn)。該函數(shù)會查詢類內(nèi)的函數(shù)名,用以判斷該服務(wù)提供哪些控制接口,比如類內(nèi)有SvcPause 函數(shù)。則會認為該服務(wù)可以被暫停。

SvcRun

    服務(wù)入口點。服務(wù)運行,就是運行這個函數(shù)。

簡單示例
代碼:
 1 # SmallestService.py
 2 #
 3 # A sample demonstrating the smallest possible service written in Python.
 4 
 5 import win32serviceutil
 6 import win32service
 7 import win32event
 8 
 9 class SmallestPythonService(win32serviceutil.ServiceFramework):
10     _svc_name_ = "SmallestPythonService"
11     _svc_display_name_ = "The smallest possible Python Service"
12     def __init__(self, args):
13         win32serviceutil.ServiceFramework.__init__(self, args)
14         # Create an event which we will use to wait on.
15         # The "service stop" request will set this event.
16         self.hWaitStop = win32event.CreateEvent(None, 0, 0, None)
17 
18     def SvcStop(self):
19         # Before we do anything, tell the SCM we are starting the stop process.
20         self.ReportServiceStatus(win32service.SERVICE_STOP_PENDING)
21         # And set my event.
22         win32event.SetEvent(self.hWaitStop)
23 
24     def SvcDoRun(self):
25         # We do nothing other than wait to be stopped!
26         win32event.WaitForSingleObject(self.hWaitStop, win32event.INFINITE)
27 
28 if __name__=='__main__':
29     win32serviceutil.HandleCommandLine(SmallestPythonService)
30 
安裝服務(wù)
進入PythonService.exe所在目錄, 命令行下執(zhí)行命令

(PATH)>PythonService.exe /register
Registering the Python Service Manager...
安裝服務(wù)

C:\Scripts> SmallestService.py install
Installing service SmallestPythonService to Python class
   C:\Scripts\SmallestService.SmallestPythonService
Service installed
C:\Scripts>
啟動服務(wù)

C:\Scripts> python.exe SmallestService.py start
Starting service SmallestPythonService
C:\Scripts>
啟動確認

C:\Scripts> python.exe SmallestService.py start
Starting service SmallestPythonService
Error starting service: An instance of the service is already running.
C:\Scripts>
停止服務(wù)

C:\Scripts> python.exe SmallestService.py stop
Stopping service SmallestPythonService
C:\Scripts>


posted on 2009-08-01 12:55 老馬驛站 閱讀(6314) 評論(0)  編輯 收藏 引用 所屬分類: pythonwindows
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲美女中文字幕| 免费试看一区| 免费成人毛片| 国产精品久久久久久亚洲毛片| 美女日韩欧美| 美女主播一区| 亚洲欧洲精品一区二区三区| 欧美 日韩 国产一区二区在线视频| 久久综合给合久久狠狠色| 欧美 日韩 国产在线| 亚洲三级免费| 中文网丁香综合网| 欧美一区二区| 免费在线观看精品| 欧美视频在线观看| 国内伊人久久久久久网站视频| 亚洲国产精品高清久久久| 中文av一区特黄| 久久久噜噜噜久久久| 最新国产成人av网站网址麻豆| 日韩视频一区二区在线观看| 性久久久久久久久久久久| 欧美va天堂va视频va在线| 国产精品视频网| 亚洲区中文字幕| 午夜在线a亚洲v天堂网2018| 欧美91精品| 午夜一区不卡| 欧美日韩国产在线播放| 激情综合久久| 香蕉久久夜色精品| 亚洲欧洲精品一区二区三区波多野1战4 | 欧美/亚洲一区| 国产精品嫩草影院av蜜臀| 亚洲电影免费观看高清完整版在线 | 欧美大胆成人| 韩国女主播一区二区三区| 99热在这里有精品免费| 久久人人97超碰精品888| 99国产精品久久久久久久久久 | 久久亚洲电影| 国产精品视频你懂的| 正在播放亚洲一区| 亚洲电影视频在线| 久久久久久久久久久久久久一区| 国产精品三级视频| 亚洲一区二区在线播放| 一本色道久久88综合日韩精品| 亚欧成人在线| 亚洲少妇最新在线视频| 欧美不卡高清| 亚洲国产一区二区a毛片| 久久精品二区| 亚洲欧美在线aaa| 国产精品亚发布| 亚洲制服av| 一区二区三区回区在观看免费视频| 久热爱精品视频线路一| 国产一区二区三区在线观看免费视频| 亚洲欧美一区二区原创| 一区二区三区欧美在线| 国产精品国产精品国产专区不蜜| 99re6这里只有精品视频在线观看| 欧美粗暴jizz性欧美20| 欧美成人一区二免费视频软件| 亚洲二区在线视频| 欧美黄污视频| 欧美日韩国产区一| 亚洲资源在线观看| 亚洲一级二级| 国产麻豆午夜三级精品| 久久精品72免费观看| 欧美一区午夜精品| 黄色亚洲网站| 亚洲高清久久| 欧美日韩亚洲另类| 久久国产精品99精品国产| 久久久久久久久久久久久久一区| 亚洲成人资源| 亚洲精品乱码久久久久久黑人 | 蜜桃久久av一区| 日韩视频精品| 亚洲欧美日韩精品综合在线观看| 国产日韩精品一区二区| 欧美成人午夜免费视在线看片| 欧美日本中文字幕| 欧美在线网站| 一区二区高清在线观看| 久久亚洲精品一区二区| 亚洲欧美一区二区视频| 国产自产女人91一区在线观看| 久久久久久久网| 欧美国产亚洲视频| 欧美在线国产| 欧美精品麻豆| 久久久久国产精品一区二区| 欧美成人亚洲| 久久久综合网| 国产精品二区在线观看| 欧美大片在线观看| 国产精品一区在线观看| 牛夜精品久久久久久久99黑人| 欧美久久综合| 狠狠入ady亚洲精品| 国产一区91| 亚洲人体一区| 国产真实精品久久二三区| 亚洲国产精品成人精品| 国产精品一区久久| 亚洲人成网站777色婷婷| 国产麻豆成人精品| 亚洲精品免费在线| 亚洲国产精品久久久久婷婷老年 | 老司机成人网| 欧美三级韩国三级日本三斤| 久久精品日韩欧美| 欧美日韩一区在线观看| 另类尿喷潮videofree| 欧美特黄一区| 亚洲激情欧美| 亚洲第一区色| 久久国产夜色精品鲁鲁99| 亚洲午夜精品久久久久久app| 久久久久欧美精品| 久久精品一区二区三区四区| 国产精品久久久久免费a∨| 亚洲日本精品国产第一区| 一区免费在线| 久久精品1区| 久久蜜臀精品av| 国产午夜精品视频免费不卡69堂| 99精品国产热久久91蜜凸| 99精品视频免费观看视频| 欧美成人资源| 亚洲精品美女| 亚洲一区二区网站| 国产精品美女久久久| 亚洲在线不卡| 久久精品国产亚洲高清剧情介绍| 国产精品乱码久久久久久| 一区二区欧美在线观看| 久久久最新网址| 麻豆精品视频| 亚洲黑丝一区二区| 欧美成人资源网| 久久综合99re88久久爱| 欧美一区=区| 久久av红桃一区二区小说| 国产精品一二一区| 午夜国产不卡在线观看视频| 欧美在线亚洲综合一区| 国产在线观看一区| 久久字幕精品一区| 亚洲激情视频网| 亚洲欧美日本在线| 国产拍揄自揄精品视频麻豆| 久久成人人人人精品欧| 欧美11—12娇小xxxx| 亚洲精品中文字| 国产精品免费一区豆花| 欧美一区二区三区四区视频| 欧美国产日韩一区二区在线观看| 99国产精品久久久久久久| 国产精品免费视频xxxx| 久久精品99国产精品酒店日本| 男人的天堂亚洲| 亚洲视频精品| 韩日在线一区| 欧美日一区二区在线观看| 久久精品九九| 一本大道久久a久久精二百| 国产日韩欧美成人| 美女露胸一区二区三区| 99精品福利视频| 久久人人九九| 亚洲一区二区在线视频| 尤物视频一区二区| 国产精品成人v| 欧美不卡三区| 新67194成人永久网站| 亚洲精品久久久久久久久久久久| 欧美一区二区成人| 99精品福利视频| 亚洲大片一区二区三区| 国产精品乱码一区二三区小蝌蚪| 久久嫩草精品久久久久| 亚洲婷婷国产精品电影人久久| 欧美国产视频一区二区| 欧美在线一二三区| 99视频精品在线| 激情偷拍久久| 国产深夜精品| 国产精品视频yy9099| 欧美精品国产精品日韩精品| 久久成人综合视频| 一本久久综合亚洲鲁鲁| 亚洲激情视频在线播放| 国产精品亚洲一区二区三区在线| 欧美激情免费观看| 欧美成人嫩草网站|