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 相关文章推荐
详解JavaScript编程中的window与window.screen对象
Oct 26 Python
Python实现的简单dns查询功能示例
May 24 Python
Python标准模块--ContextManager上下文管理器的具体用法
Nov 27 Python
详解python OpenCV学习笔记之直方图均衡化
Feb 08 Python
详解Python中的测试工具
Jun 09 Python
python跳出双层for循环的解决方法
Jun 24 Python
python多线程同步实例教程
Aug 11 Python
在Python中使用K-Means聚类和PCA主成分分析进行图像压缩
Apr 10 Python
python代码实现图书管理系统
Nov 30 Python
python 三种方法提取pdf中的图片
Feb 07 Python
Python实现生成bmp图像的方法
Jun 13 Python
Python tensorflow卷积神经Inception V3网络结构
May 06 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 is_dir() 判断给定文件名是否是一个目录
2010/05/10 PHP
怎样给PHP源代码加密?PHP二进制加密与解密的解决办法
2013/04/22 PHP
PHP的MVC模式实现原理分析(一相简单的MVC框架范例)
2014/04/29 PHP
详解PHP对数组的定义以及数组的创建方法
2015/11/27 PHP
jQuery ui 1.7更新小结
2009/08/15 Javascript
jquery获取被勾选的checked(选中)的那一行的3列和4列的值
2013/07/04 Javascript
javascript中普通函数的使用介绍
2013/12/19 Javascript
Javascript前端UI框架Kit使用指南之kitjs的对话框组件
2014/11/28 Javascript
jQuery插件Easyui设置datagrid的pageNumber导致两次请求问题的解决方法
2016/08/06 Javascript
js oncontextmenu事件使用详解
2017/03/25 Javascript
Vue.js中轻松解决v-for执行出错的三个方案
2017/06/09 Javascript
jQuery Validate格式验证功能实例代码(包括重名验证)
2017/07/18 jQuery
如何获取TypeScript的声明文件.d.ts
2018/05/01 Javascript
CountUp.js实现数字滚动增值效果
2019/10/17 Javascript
使用nodejs实现JSON文件自动转Excel的工具(推荐)
2020/06/24 NodeJs
js实现表格单列按字母排序
2020/08/12 Javascript
[01:46]2020完美世界全国高校联赛秋季赛报名开启
2020/10/15 DOTA
[46:44]DOTA2-DPC中国联赛 正赛 Ehome vs PSG.LGD BO3 第二场 3月7日
2021/03/11 DOTA
分享一个常用的Python模拟登陆类
2015/03/29 Python
python时间日期函数与利用pandas进行时间序列处理详解
2018/03/13 Python
python实现数据库跨服务器迁移
2018/04/12 Python
python opencv实现旋转矩形框裁减功能
2018/07/25 Python
python excel转换csv代码实例
2019/08/26 Python
PYTHON实现SIGN签名的过程解析
2019/10/28 Python
详解Pycharm出现out of memory的终极解决方法
2020/03/03 Python
python实现超级玛丽游戏
2020/03/18 Python
关于python的缩进规则的知识点详解
2020/06/22 Python
基于Python+QT的gui程序开发实现
2020/07/03 Python
CSS3制作气泡对话框的实例教程
2016/05/10 HTML / CSS
HTML5实现视频弹幕功能
2019/08/09 HTML / CSS
什么是Linux虚拟文件系统VFS
2012/01/31 面试题
高考寄语大全
2014/04/08 职场文书
化工见习报告范文
2014/10/31 职场文书
预备党员党支部意见
2015/06/02 职场文书
理想国读书笔记
2015/06/25 职场文书
公司车辆管理制度
2015/08/04 职场文书