python实现在windows服务中新建进程的方法


Posted in Python onJune 30, 2015

本文实例讲述了python实现在windows服务中新建进程的方法。分享给大家供大家参考。具体实现方法如下:

需要安装的软件:python和pywin32,我这里装的分别是python-2.6.amd64、pywin32-217.win-amd64-py2.6

文件名:dma_ws.py

#!python
import win32serviceutil 
import win32service 
import win32event
import os 
from subprocess import Popen, PIPE
import json
import signal
run_proc = None
class 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程序设计有所帮助。

Python 相关文章推荐
在Python中操作文件之seek()方法的使用教程
May 24 Python
Python中函数的参数定义和可变参数用法实例分析
Jun 04 Python
用python做一个搜索引擎(Pylucene)的实例代码
Jul 05 Python
Python实现七彩蟒蛇绘制实例代码
Jan 16 Python
Python科学计算包numpy用法实例详解
Feb 08 Python
利用Python批量提取Win10锁屏壁纸实战教程
Mar 27 Python
Python3爬虫爬取英雄联盟高清桌面壁纸功能示例【基于Scrapy框架】
Dec 05 Python
Python3.5文件读与写操作经典实例详解
May 01 Python
运用PyTorch动手搭建一个共享单车预测器
Aug 06 Python
python通过实例讲解反射机制
Oct 17 Python
Python接口测试文件上传实例解析
May 22 Python
解决阿里云邮件发送不能使用25端口问题
Aug 07 Python
python实现线程池的方法
Jun 30 #Python
python实现的简单FTP上传下载文件实例
Jun 30 #Python
编写Python CGI脚本的教程
Jun 29 #Python
Python访问纯真IP数据库脚本分享
Jun 29 #Python
Python实现把数字转换成中文
Jun 29 #Python
Python中if __name__ == '__main__'作用解析
Jun 29 #Python
django接入新浪微博OAuth的方法
Jun 29 #Python
You might like
PHP数组内存耗用太多问题的解决方法
2010/04/05 PHP
PHP给文字内容中的关键字进行套红处理
2016/04/12 PHP
浅谈thinkphp的nginx配置,以及重写隐藏index.php入口文件方法
2019/10/12 PHP
PhpStorm+xdebug+postman调试技巧分享
2020/09/15 PHP
jquery 子窗口操作父窗口的代码
2009/09/21 Javascript
判断目标是否是window,document,和拥有tagName的Element的代码
2010/05/31 Javascript
JavaScript面向对象程序设计三 原型模式(上)
2011/12/21 Javascript
简介JavaScript中toTimeString()方法的使用
2015/06/12 Javascript
JSONP和批量操作功能的实现方法
2016/08/21 Javascript
jQuery实现为LI列表前3行设置样式的方法【2种方法】
2016/09/04 Javascript
详解vue渲染函数render的使用
2017/12/12 Javascript
Vue中的验证登录状态的实现方法
2019/03/09 Javascript
jquery+php后台实现省市区联动功能示例
2019/05/23 jQuery
Python  __getattr__与__setattr__使用方法
2008/09/06 Python
Python基类函数的重载与调用实例分析
2015/01/12 Python
python通过Windows下远程控制Linux系统
2018/06/20 Python
运用Python的webbrowser实现定时打开特定网页
2019/02/21 Python
python使用装饰器作日志处理的方法
2019/07/11 Python
使用python的turtle绘画滑稽脸实例
2019/11/21 Python
Python 发送邮件方法总结
2020/08/10 Python
pandas抽取行列数据的几种方法
2020/12/13 Python
使用html5制作loading图的示例
2014/04/14 HTML / CSS
基于HTML5的齿轮动画特效
2016/02/29 HTML / CSS
Petmate品牌官方网站:宠物用品
2018/11/25 全球购物
中西医结合临床医学专业大学生自荐信
2013/09/28 职场文书
施工资料员岗位职责
2014/01/06 职场文书
检察院对照“四风”认真查找问题落实整改措施
2014/09/26 职场文书
机关干部四风问题自我剖析及整改措施
2014/10/26 职场文书
和谐家庭事迹材料
2014/12/20 职场文书
旷工检讨书1000字
2015/01/01 职场文书
项目安全员岗位职责
2015/02/15 职场文书
党支部创先争优公开承诺书
2015/04/30 职场文书
2015年学校心理健康教育工作总结
2015/05/11 职场文书
汽车修理厂管理制度
2015/08/05 职场文书
pytorch显存一直变大的解决方案
2021/04/08 Python
python opencv检测直线 cv2.HoughLinesP的实现
2021/06/18 Python