python怎么操作windows服务?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python怎么操作windows服务?相关的知识,希望对你有一定的参考价值。

我有个程序,必须不间断运行,它是以windows服务形式启动的,但是有时候会自动停掉,我要做的是,用python写个程序,每隔一段时间检查一下这个服务是否启动,如果那个服务没有启动,就启动它。

参考技术A 楼主怎么又来问这个问题?不是已经问过一遍了吗?这么久还没有搞定?
svcdorun运行结束就表示系统服务“停止”,怎么会重新运行?
上面的程序在开始添加两行代码:
import
time
timeout
=
10
#此处是延时时间,单位秒
改写部分代码:
def
__init__(self,
args):
win32serviceutil.serviceframework.__init__(self,
args)
self.running
=
true
def
svcdorun(self):
while
self.running:
#调用你的程序代码或者函数,以下的部分是计时代码
i
=
0
while
self.running
and
(i<timeout):
time.sleep(1)
i
+=
1
def
svcstop(self):
self.running
=
false
这三个函数完全替代原有的代码
代码
import
win32event
可以去除
计时代码之所以不直接写
time.sleep(timeout),主要原因是当timeout比较长时,会引起停止服务时失败,windows系统在停止服务时会有一定的等待时间,但时间不长,现在的计时代码是一秒钟检查一次是否停止,肯定不会带来问题。

在windows上的python 连接 linux 并做点操作

如题,我现在是在windows下的python2.7下,想连接远程的linux服务器,然后做点操作,我想问下,这个连接,怎么弄?搜了很多都是说不支持pexpect,然后我下了 winpexpect1.6 可是下载后,都是些文件,我不知道怎么放到 python下面去,有没有什么代码例子,包括需要什么库,简单的例子就行

参考技术A 访问SqlServer

复制代码代码如下:

>>> import pyodbc

>>>cnxn = pyodbc.connect('DRIVER=SQL Server;SERVER=192.168.1.100\\sql;DATABASE=testDB;UID=sa;PWD=myPassword')
>>>cursor = cnxn.cursor()
>>>cursor.execute("select * from Tb")

二、Linux下配置Python访问SqlServer
环境:CentOS 6.2 + Sqlserver 2008
1、安装freetds:

复制代码代码如下:

yum install freetds*

2、安装pyodbc:

复制代码代码如下:

yum install pyodbc

修改odbc配置:

复制代码代码如下:

vi /etc/odbcinst.ini

添加FreeTDS驱动:

复制代码代码如下:

[SQL Server]

Description = FreeTDS ODBC driver for MSSQL
Driver = /usr/lib/libtdsodbc.so
Setup = /usr/lib/libtdsS.so
FileUsage = 1

3、测试

复制代码代码如下:

#python

>>> import pyodbc
>>>cnxn = pyodbc.connect('DRIVER=SQL Server;SERVER=192.168.1.100\\sql;DATABASE=testDB;UID=sa;PWD=myPassword')
>>>cursor = cnxn.cursor()
>>>cursor.execute("select * from Tb")

以上是关于python怎么操作windows服务?的主要内容,如果未能解决你的问题,请参考以下文章

python怎么操作windows服务?

windows服务

列出windows 2003系统提供的网络服务,并对其应用加以说明?

python3+selenium3.13的简单操作

ElasticSearch安装为Windows服务

windows下安装python和pycharm