我想使用批处理脚本创建一个Windows服务,以运行我编写的Python脚本。我打算用sc进行一些实验。这是我使用的命令:
sc create RoundTripService binPath="C:\Python27\python.exe C:\script.py" type=own error=ignore start=auto
很不幸,当我这样做时,控制台会给我一个 sc 命令的描述/用法/选项等的输出。
我想使用批处理脚本创建一个Windows服务,以运行我编写的Python脚本。我打算用sc进行一些实验。这是我使用的命令:
sc create RoundTripService binPath="C:\Python27\python.exe C:\script.py" type=own error=ignore start=auto
SC在命令行中对空格十分严格,你收到该错误是因为"binPath="和"type="组件后面没有空格。在DOS提示符下运行
SC CREATE /?
以了解如何构建命令行。
但即使你成功通过SC安装了Python,当你尝试启动服务时,你会遇到可怕的"Error 1053"错误!这是因为Python.exe不是真正的Windows服务可执行文件,无法响应Windows服务控制管理器启动服务的请求。你需要一个"服务包装器"(比如Microsoft的SRVANY,尽管它有一些缺点)来拦截来自Windows服务控制管理器的请求并启动你的Python脚本。