如何以Windows Service的方式运行Python程序

技术如何以Windows Service的方式运行Python程序这期内容当中小编将会给大家带来有关如何以Windows Service的方式运行Python程序,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文

本期,边肖将为大家带来如何用Windows Service方式运行Python程序的信息。文章内容丰富,从专业角度进行分析和叙述。看完这篇文章,希望你能有所收获。

Python程序代码

Importwmiimportosc=wmi。wmi()观察器=C. win32 _ powermanagementevent。监视待机事件的watch _ for(事件类型=7) #语句;而true: OS。系统(' kdlj。vbs’)#运行“连接宽带”的程序,这里还在用最后一个人的VBS码;Watcher()因为Python程序的控制台窗口总是在那里,所以看起来有点碍事。所以我想如果我能像windows服务管理器中的其他程序一样,把它作为windows服务来运行。

最后,我在《皮松格拉姆明贡温32》(by mark Hammond)一书中找到了相关介绍,其中:

有一个简单的模板,只需将Python程序代码放在相应的位置:

#SmallestService.py

#

# asacompleexpertingthesmellestpositionleservicewrittenpython。

importwin32serviceutil

importwin32service

importwin32event

classsmallestpython onservice(win 32 service util。ServiceFramework):

_ SVC _ name _=' smallestpytonservice '

_ SVC _ display _ name _=' ThEsmallstOpertyOnServiCe '

def__init__(self,args):

win32 service util . ServiCe FrameWork . _ _ init _ _(self,args)

#创建一个我们将使用的事件。

servicestop请求将设置事件。

self.hWaitStop=win32event。创建事件(无,0,0,无)

defSvcStop(自):

#在我们做任何事情之前,告诉我们进程。

自我。ReportServiceStatus(win 32 service。服务停止待定)

# Andsetmyevent。

win 32事件。SetEvent(self.hWaitStop)

defSvcDoRun(自):

#把你的程序代码放在这里就可以了。

win 32事件。WaitForSingleObject(self . hwaitstop,win32event。无限)

if__name__=='__main__':

win32serviceutil。HandleCommandLine(smallestpython onservice)

#括号中的名称可以改为其他名称,必须与类名一致;

接下来,只需安装该服务并在cmd下运行:SmallestService.pyinstall。

通过这种方式,您可以在windows服务管理器中找到一个名为“最小可能的pythonservice”的服务。如果设置为自动启动,它将自动启动并一直在后台运行。眼不见,心不烦。

但是,虽然目标已经实现,但是发现了一个小问题,那就是如果你想停止服务,关闭进度条会停滞不前,你必须在流程管理器中关闭pythonservice.exe。这个bug一直无法解决,就是当你关闭服务的时候,应该取消对待机事件的监控,否则就无法返回这个无限循环。

这就是如何以上述边肖共享的Windows Service的方式运行Python程序。如果有类似的疑惑,不妨参考以上分析了解。想了解更多,请关注行业信息渠道。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/65480.html

(0)

相关推荐

  • 如何分析SQL Server中的SQL语句优化与效率问题

    技术如何分析SQL Server中的SQL语句优化与效率问题今天就跟大家聊聊有关如何分析SQL Server中的SQL语句优化与效率问题,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这

    攻略 2021年12月1日
  • Java开发必须要学的软件有哪些

    技术Java开发必须要学的软件有哪些 Java开发必须要学的软件有哪些作为Java初学者,应该学会哪些Java软件开发工具呢这个问题就由千锋重庆Java的小编来为大家解答。
    1.JDK:
    jdk:Jav

    礼包 2021年12月7日
  • 有关mysql的坑有哪些

    技术有关mysql的坑有哪些这篇文章主要介绍“有关mysql的坑有哪些”,在日常操作中,相信很多人在有关mysql的坑有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”有关mysql的坑

    攻略 2021年10月21日
  • it复数,英语中it有没有复数形式

    技术it复数,英语中it有没有复数形式it的复数形式是:they或者是them。  因为it可能是人称代词主格it复数;也可能是人称代词宾格。  分析:  it:pron.它。主格(在句子里做主语)或是宾格(在句子里做宾

    生活 2021年10月29日
  • 手打虾滑,现在比较有特色的火锅有哪些

    技术手打虾滑,现在比较有特色的火锅有哪些如今的火锅店是越来越多,品种也越来越多了,想吃火锅了,再也不单单是在铜锅涮肉和川味火锅中选择了,日本的寿喜锅,韩国的部队火锅,潮汕牛肉火锅,港式小火锅,梭边鱼火锅,贵州的酸汤鱼火锅

    生活 2021年10月30日
  • 刘羽冲偶得古兵书翻译,刘羽冲偶得古兵书 赏析

    技术刘羽冲偶得古兵书翻译,刘羽冲偶得古兵书 赏析看看刘羽冲的表现:他偶然得过一部古兵书,苦读了一年左右,自己感觉可以统领十万军兵冲锋陷阵了刘羽冲偶得古兵书翻译。正巧当时乡里出现土匪,刘羽冲就自己训练乡兵与土匪们打仗,

    生活 2021年10月29日