郑昀@玩聚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相关推荐

  1. MYSQL使用存储过程插入中文数据的疑似bug(UTF8)

    数据库Connection和字段的字符集都采用utf-8. 开始使用存储过程插入数据,代码大约如下 MySqlCommand cmd = new MySqlCommand("apend_te ...

  2. PostgreSQL-JDBC疑似bug:部分接口参数的表名、列名必须全部小写

    项目从Oracle移植到PostgreSQL(9.4版)后,这几天又出现故障,经跟踪定位,确定原因是调用PgDatabaseMetaData.getPrimaryKeys()接口返回了空集. 众所周知 ...

  3. 疑似Bug:简书安卓10.7首页搜索关键字屏蔽敏感词不彻底

    安卓10.7版本Bug截图 对比: 对比简书首页搜索敏感词"政治"和非敏感词"时事政治" 2016.5.23更新: 更新到安卓10.8正式版后已经可以直接搜索关 ...

  4. 实际例子描述和分析“猎豹抢票跨站推荐功能跨站有票刷不到”的疑似bug

    前言 快过年了,又到了一年抢票时.今年douba和douma计划要带着doudou回姥姥家.昨天在家用抢票软件居然发现了一个bug,那就是在猎豹抢票中跨站推荐的车票几天里一直是没有,但是在12306手 ...

  5. 实际例子描述和分析“猎豹抢票跨站推荐功能有票刷不到”的疑似bug

    前言 快过年了,又到了一年抢票时.今年douba和douma计划要带着doudou回姥姥家.昨天在家用抢票软件居然发现了一个bug,那就是在猎豹抢票中跨站推荐的车票几天里一直是没有,但是在12306手 ...

  6. 罗永浩将举办「老人与海」发布会;微软疑似遭遇大范围全球宕机;Python 3.9 首个测试版发布 | 极客头条...

    整理 | 屠敏 快来收听极客头条音频版吧,智能播报由标贝科技提供技术支持. 「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注 ...

  7. Python疑似循环导入报错解决方法

    今天小编在写自动化测试代码的过程中,出现引用问题的报错,导致进度很难推展,最后发现是疑似循环引用的问题,下面给大家讲讲我是如何解决的. 一.什么是循环导入 循环导入是由于项目封装了太多模块并引用,导致 ...

  8. 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四个安全参数,当 ...

  9. 比特大陆新任CEO疑似曝光背后

    2019独角兽企业重金招聘Python工程师标准>>> 火星财经报道,据区块链媒体<聪日报>消息,知情人称一位名为王海超的人士可能成为比特大陆的新任 CEO.目前所有公开 ...

最新文章

  1. 神经网络的可解释性综述!
  2. python-configparser生成ini配置文件
  3. CSV Data Set Config设置
  4. python post 请求登录后的页面_python - 学习模拟登录,卡在发送POST请求之后?
  5. 如何在 Linux 终端中一次运行多个 Linux 命令(初学者教程)
  6. JavaScript 类式继承与原型继承
  7. 毕业设计第一周的计划
  8. 再见,罗永浩!再见,锤子!
  9. WiFi技术简述与发展
  10. IDEA Error occurred during initialization of VM
  11. 百度小程序html转码,百度小程序转换工具
  12. matlab画线段加箭头
  13. 电商业务Alipay支付实战(当面付实现)
  14. 【音视频基础】视频基础理论
  15. Jeecgboot-Vue3 v1.2.0 版本正式发布,企业级低代码平台
  16. 嫌疑人x的献身-----一些想法
  17. java爬虫爬取笔趣阁小说
  18. iOS-地图真实坐标表示形式之间转换(double型,int型 互转)
  19. 用Go语言编程的利与弊
  20. 用例与用例,参与者与参与者_参与通讯内容的30个想法

热门文章

  1. C语言变量的定义包括变量存储类型和变量的什么?
  2. 在switch语句中,case后的标号只能是什么?
  3. 删除一个程序Linux,一天一个Linux基础命令删除文件或目录命令rm
  4. java中插入排序实例_java中对插入排序的理解以及实例
  5. inputdstream mysql_【sparkStreaming】将DStream保存在MySQL
  6. pat 乙级 1023 组个最小数(C++)
  7. 选购工业交换机时,工业交换机的IP等级多少比较合适?
  8. 交换机的硬件故障问题总结
  9. 【渝粤教育】国家开放大学2019年春季 1260软件工程 参考试题
  10. 【渝粤教育】电大中专就业指导 (3)作业 题库