Python 安装Windows Service

本文介绍如何安装Python和pyWin32库,并通过提供的代码示例展示了如何创建最小的Python服务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#1. 安装Python
#2. 安装pyWin32,可以到[url]http://sourceforge.net/projects/pywin32/files/pywin32/[/url]下载
#3. 代码示例如下

# -*- coding: utf-8 -*-
# SmallestService.py
#
# A sample demonstrating the smallest possible service written in Python.

import win32serviceutil
import win32service
import win32event
import SocketServer
import logging

import sys
import SocketServer
import logging
import httplib, urllib, cookielib, urllib2

import threading
import time

logging.basicConfig(level=logging.DEBUG,
format='%(asctime)s %(levelname)s %(message)s',
filename=r'log234.txt',
filemode='a+')

import socket, time
import random, struct
import urllib

class SmallestPythonService(win32serviceutil.ServiceFramework):
_svc_name_ = "Sologin Monitor Service"
_svc_display_name_ = "Sologin Monitor Service"

def __init__(self, args):
self.threads = []
logging.error("add thread on port t")
win32serviceutil.ServiceFramework.__init__(self, args)
# Create an event which we will use to wait on.
# The "service stop" request will set this event.
self.hWaitStop = win32event.CreateEvent(None, 0, 0, None)

def SvcStop(self):
# Before we do anything, tell the SCM we are starting the stop process.
self.ReportServiceStatus(win32service.SERVICE_STOP_PENDING)
# And set my event.

win32event.SetEvent(self.hWaitStop)

def SvcDoRun(self):
# 把你的程序代码放到这里就OK了
self.threads = []

logging.error("add thread on port ")

win32event.WaitForSingleObject(self.hWaitStop, win32event.INFINITE)

if __name__=='__main__':
win32serviceutil.HandleCommandLine(SmallestPythonService)
# 括号里的名字可以改成其他的,必须与class名字一致;

#4. 然后执行运行SmallestPythonService install命令即可将servcie安装好
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值