python脚本作为Windows服务启动代码详解


Posted in Python onFebruary 11, 2018

我们首先来看下全部代码:

# -*- coding: cp936 -*- 
import win32serviceutil 
import win32service 
import win32event 
class test1(win32serviceutil.ServiceFramework): 
  _svc_name_ = "test_python" 
  _svc_display_name_ = "test_python" 
  def __init__(self, args): 
    win32serviceutil.ServiceFramework.__init__(self, args) 
    self.hWaitStop = win32event.CreateEvent(None, 0, 0, None) 
  def SvcStop(self): 
    # 先告诉SCM停止这个过程 
    self.ReportServiceStatus(win32service.SERVICE_STOP_PENDING) 
    # 设置事件 
    win32event.SetEvent(self.hWaitStop) 
  def SvcDoRun(self): 
    # 等待服务被停止 
    win32event.WaitForSingleObject(self.hWaitStop, win32event.INFINITE) 
if __name__=='__main__': 
  win32serviceutil.HandleCommandLine(test1)

这里注意,如果你需要更改文件名,比如将win32serviceutil.HandleCommandLine(test1)中的test1更改为你的文件名,同时class也需要和你的文件名一致,否则会出现服务不能启动的问题。

Python 相关文章推荐
python查找目录下指定扩展名的文件实例
Apr 01 Python
Djang中静态文件配置方法
Jul 30 Python
Python基于socket模块实现UDP通信功能示例
Apr 10 Python
python实现嵌套列表平铺的两种方法
Nov 08 Python
python2和python3的输入和输出区别介绍
Nov 20 Python
python getpass模块用法及实例详解
Oct 07 Python
计算pytorch标准化(Normalize)所需要数据集的均值和方差实例
Jan 15 Python
Python实现不规则图形填充的思路
Feb 02 Python
Python中zip()函数的解释和可视化(实例详解)
Feb 16 Python
Python 改变数组类型为uint8的实现
Apr 09 Python
python pillow库的基础使用教程
Jan 13 Python
详解Python爬虫爬取博客园问题列表所有的问题
Jan 18 Python
分析Python读取文件时的路径问题
Feb 11 #Python
Django中针对基于类的视图添加csrf_exempt实例代码
Feb 11 #Python
python jieba分词并统计词频后输出结果到Excel和txt文档方法
Feb 11 #Python
代码讲解Python对Windows服务进行监控
Feb 11 #Python
django 按时间范围查询数据库实例代码
Feb 11 #Python
python实现媒体播放器功能
Feb 11 #Python
python使用pycharm环境调用opencv库
Feb 11 #Python
You might like
php输出xml格式字符串(用的这个)
2012/07/12 PHP
探讨PHP调用时间格式的参数详解
2013/06/06 PHP
深入PHP中的HashTable结构详解
2013/06/13 PHP
什么是PHP文件?如何打开PHP文件?
2017/06/27 PHP
php使用event扩展的io复用测试的示例
2020/10/20 PHP
JavaScript 用Node.js写Shell脚本[译]
2012/09/20 Javascript
JS文本框追加多个下拉框的值的简单实例
2013/07/12 Javascript
js实现通用的微信分享组件示例
2014/03/10 Javascript
绑定回车enter事件代码
2014/05/18 Javascript
使用GruntJS构建Web程序之安装篇
2014/06/04 Javascript
JS中getYear()和getFullYear()区别分析
2014/07/04 Javascript
浅谈javascript中for in 和 for each in的区别
2015/04/23 Javascript
jQuery实现单击弹出Div层窗口效果(可关闭可拖动)
2015/09/19 Javascript
jQuery中ScrollTo用法示例
2016/09/04 Javascript
JS前端开发判断是否是手机端并跳转操作(小结)
2017/02/05 Javascript
微信小程序中使用自定义图标(阿里icon)的方法
2018/08/20 Javascript
JavaScript 点击触发复制功能实例详解
2018/11/02 Javascript
layui当点击文本框时弹出选择框,显示选择内容的例子
2019/09/02 Javascript
es6数组includes()用法实例分析
2020/04/18 Javascript
vue+elementUI实现简单日历功能
2020/09/24 Javascript
JavaScript原生数组函数实例汇总
2020/10/14 Javascript
vue 实现基础组件的自动化全局注册
2020/12/25 Vue.js
[03:42]2014DOTA2西雅图国际邀请赛 Navi战队巡礼
2014/07/07 DOTA
[02:15]2015国际邀请赛选手档案IG.Ferrari 430
2015/07/30 DOTA
[58:18]2018DOTA2亚洲邀请赛3月29日 小组赛B组 iG VS Mineski
2018/03/30 DOTA
[03:04]2018年国际邀请赛典藏宝瓶&莱恩声望物品展示 片尾有彩蛋
2018/06/04 DOTA
解析Python中的生成器及其与迭代器的差异
2016/06/20 Python
Python实现压缩与解压gzip大文件的方法
2016/09/18 Python
windows下搭建python scrapy爬虫框架步骤
2018/12/23 Python
Python restful框架接口开发实现
2020/04/13 Python
Python字符串对齐、删除字符串不需要的内容以及格式化打印字符
2021/01/23 Python
HTML5中的新元素介绍
2008/10/17 HTML / CSS
技能竞赛活动方案
2014/02/21 职场文书
消防演习通知
2015/04/25 职场文书
2015年劳动部工作总结
2015/05/23 职场文书
三八妇女节主持词
2015/07/04 职场文书