(操作系统:Windows 7)
使用 SC.EXE 我创建了一个 Windows 服务。此外,我创建了必要的注册表项来指定应用程序路径(使用关键参数)。
“应用程序”是一个 .BAT 文件,它设置几个环境变量,然后调用 Python 脚本。直接从 CMD 中运行 .BAT 文件时,我会得到正常的所需行为。
使用服务管理器,我可以启动和停止服务(也适用于直接从 CMD 发出的 SC.EXE)。一切正常,没有警告或错误或任何其他可查看的内容(在事件日志中)。
BAT 文件不会被执行。我仔细检查了应用程序路径,再次检查了服务名称。
- 更正:实际执行 BAT 文件(从 BAT 文件中创建简单的日志文件)。显然,不起作用的是将 python.exe 作为 BAT 文件中的最后一个命令执行。我无法验证 python.exe 生成了什么错误,因为我没有看到任何日志文件、事件日志条目......
BAT文件内容:
@ECHO OFF
REM ==========================================================================
REM ProcessIntergrationBridge Microsoft Windows Service Shell Script
REM ==========================================================================
SET CONSEQUOR_PIB_HOME=C:\opt\consequor\pib
SET CONSEQUOR_PIB_VERSION_DESIGNATOR=pib_b0100
SET CONSEQUOR_PIB_DATA=C:\var\opt\consequor\pib
SET CONSEQUOR_PIB_LOG=C:\var\opt\consequor\pib\log
SET CONSEQUOR_PIB_LOG_FILE=C:\var\opt\consequor\pib\log\pib.log
SET PYTHONPATH=C:\opt\consequor\pib\%CONSEQUOR_PIB_VERSION_DESIGNATOR%
SET PYTHONHOME=C:\opt\consequor\pib\python-runtime\win
SET PATH=%CONSEQUOR_PIB_HOME%\%CONSEQUOR_PIB_VERSION_DESIGNATOR%\bin;%CONSEQUOR_PIB_HOME%\python-runtime\win;CONSEQUOR_PIB_HOME%\python-runtime\win\DLLs;CONSEQUOR_PIB_HOME%\python-runtime\win\libs;CONSEQUOR_PIB_HOME%\python-runtime\win\Lib;%PATH%
SET CMD=%PYTHONHOME%\pythonw.exe %CONSEQUOR_PIB_HOME%\%CONSEQUOR_PIB_VERSION_DESIGNATOR%\%CONSEQUOR_PIB_VERSION_DESIGNATOR%\start_pib\pib_run_server.py debug
%CMD%
PIBD 服务注册条目:(哦 Merde Alors - 我还不能发布图片...... - 如果有人想看,我可以通过直接电子邮件发送......)
感谢您提供有关如何调试、修复、更改它的任何提示 - 您知道。
亲切的问候
弗兰克 - 现在花了几天时间试图了解 Windows 的奥秘。