Python的win32serviceutil之疑似BUG
郑昀@玩聚SR 20090515
1、现象:
用Python的win32serviceutil控制Windows Service启动、停止、重启时,如下代码一般是没问题的。
import win32serviceutil
def service_manager(action, machine, service):
if action == 'stop':
win32serviceutil.StopService(service, machine)
elif action == 'start':
win32serviceutil.StartService(service, machine)
elif action == 'restart':
win32serviceutil.RestartService(service, machine)
elif action == 'status':
if win32serviceutil.QueryServiceStatus(service, machine)[1] == 4:
print "%s is happy" % service
else:
print "%s is being a PITA" % service
但控制Apache Service时,会出现一个很怪的现象。
譬如运行这么简单的语句:
import win32serviceutil
win32serviceutil.StartService("Apache2.2","localhost")
顺利执行后,停止的Apache服务并没有被启动。
此时,Windows事件日志就会报告这种错误:
事件类型: 错误
事件来源: Apache Service
事件种类: 无
事件 ID: 3299
The Apache service named reported the following error:
>>> Usage: C:""Apache2.2""bin""httpd.exe [-D name] [-d directory] [-f file]
同样,win32serviceutil.RestartService 函数虽然可以先正常地停止掉Apache服务,但试图启动时仍遇到同样的错误。
在多台服务器(Windows2003+SP2)和我本机(WindowsXP+SP2)都可以重现。
2、解决:
把machine参数去掉不传即可,或传空字符串。
即:
win32serviceutil.StartService("Apache2.2")
或
win32serviceutil.StartService("Apache2.2","")
可以正常启动本机的Apache,这样无法遥控域内其他服务器了。
3、更多:
1:win32serviceutil.StartService(service, '-w -n "Apache2.2" -k start')
这样不传machine参数,只设定服务启动的传入参数也不行。
2:对于 win32serviceutil.StopService 函数,停止Apache等Windows服务时,不存在此问题。
转载于:https://www.cnblogs.com/zhengyun_ustc/archive/2009/05/16/win32serviceutil.html
Python的win32serviceutil之疑似BUG相关推荐
- MYSQL使用存储过程插入中文数据的疑似bug(UTF8)
数据库Connection和字段的字符集都采用utf-8. 开始使用存储过程插入数据,代码大约如下 MySqlCommand cmd = new MySqlCommand("apend_te ...
- PostgreSQL-JDBC疑似bug:部分接口参数的表名、列名必须全部小写
项目从Oracle移植到PostgreSQL(9.4版)后,这几天又出现故障,经跟踪定位,确定原因是调用PgDatabaseMetaData.getPrimaryKeys()接口返回了空集. 众所周知 ...
- 疑似Bug:简书安卓10.7首页搜索关键字屏蔽敏感词不彻底
安卓10.7版本Bug截图 对比: 对比简书首页搜索敏感词"政治"和非敏感词"时事政治" 2016.5.23更新: 更新到安卓10.8正式版后已经可以直接搜索关 ...
- 实际例子描述和分析“猎豹抢票跨站推荐功能跨站有票刷不到”的疑似bug
前言 快过年了,又到了一年抢票时.今年douba和douma计划要带着doudou回姥姥家.昨天在家用抢票软件居然发现了一个bug,那就是在猎豹抢票中跨站推荐的车票几天里一直是没有,但是在12306手 ...
- 实际例子描述和分析“猎豹抢票跨站推荐功能有票刷不到”的疑似bug
前言 快过年了,又到了一年抢票时.今年douba和douma计划要带着doudou回姥姥家.昨天在家用抢票软件居然发现了一个bug,那就是在猎豹抢票中跨站推荐的车票几天里一直是没有,但是在12306手 ...
- 罗永浩将举办「老人与海」发布会;微软疑似遭遇大范围全球宕机;Python 3.9 首个测试版发布 | 极客头条...
整理 | 屠敏 快来收听极客头条音频版吧,智能播报由标贝科技提供技术支持. 「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注 ...
- Python疑似循环导入报错解决方法
今天小编在写自动化测试代码的过程中,出现引用问题的报错,导致进度很难推展,最后发现是疑似循环引用的问题,下面给大家讲讲我是如何解决的. 一.什么是循环导入 循环导入是由于项目封装了太多模块并引用,导致 ...
- X-Argus X-Gorgon X-Ladon findcrypt和findhash查找疑似加密函数(五)
X-Argus X-Gorgon X-Ladon 交流2891590578 APP在每个请求的header中都加入了X-Ladon.X-Khronos.X-Gorgon.X-Argus四个安全参数,当 ...
- 比特大陆新任CEO疑似曝光背后
2019独角兽企业重金招聘Python工程师标准>>> 火星财经报道,据区块链媒体<聪日报>消息,知情人称一位名为王海超的人士可能成为比特大陆的新任 CEO.目前所有公开 ...
最新文章
- 神经网络的可解释性综述!
- python-configparser生成ini配置文件
- CSV Data Set Config设置
- python post 请求登录后的页面_python - 学习模拟登录,卡在发送POST请求之后?
- 如何在 Linux 终端中一次运行多个 Linux 命令(初学者教程)
- JavaScript 类式继承与原型继承
- 毕业设计第一周的计划
- 再见,罗永浩!再见,锤子!
- WiFi技术简述与发展
- IDEA Error occurred during initialization of VM
- 百度小程序html转码,百度小程序转换工具
- matlab画线段加箭头
- 电商业务Alipay支付实战(当面付实现)
- 【音视频基础】视频基础理论
- Jeecgboot-Vue3 v1.2.0 版本正式发布,企业级低代码平台
- 嫌疑人x的献身-----一些想法
- java爬虫爬取笔趣阁小说
- iOS-地图真实坐标表示形式之间转换(double型,int型 互转)
- 用Go语言编程的利与弊
- 用例与用例,参与者与参与者_参与通讯内容的30个想法
热门文章
- C语言变量的定义包括变量存储类型和变量的什么?
- 在switch语句中,case后的标号只能是什么?
- 删除一个程序Linux,一天一个Linux基础命令删除文件或目录命令rm
- java中插入排序实例_java中对插入排序的理解以及实例
- inputdstream mysql_【sparkStreaming】将DStream保存在MySQL
- pat 乙级 1023 组个最小数(C++)
- 选购工业交换机时,工业交换机的IP等级多少比较合适?
- 交换机的硬件故障问题总结
- 【渝粤教育】国家开放大学2019年春季 1260软件工程 参考试题
- 【渝粤教育】电大中专就业指导 (3)作业 题库