(操作系统:Windows 7)
使用SC.EXE我创建了一个Windows服务。此外,我创建了必要的注册表项以指定应用程序路径(使用关键参数)。
“Application”是一个.BAT文件,它设置几个环境变量,然后调用Python脚本。当直接从CMD中运行.BAT文件时,我得到正常的,期望的行为。
使用Service Manager我可以启动和停止服务(也适用于直接从CMD发出的SC.EXE)。一切正常,没有警告或错误或其他任何可见的事件(在事件日志中)。
BAT文件未执行。我仔细检查了应用程序路径,仔细检查了服务名称。
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 Service Registry条目:(哦Merde Alors - 我还不能发布图片...... - 如果有人想看,那么我可以通过直接发送电子邮件发送......)
感谢您提供有关如何调试,修复,更改它的任何提示 - 您知道。
亲切的问候
弗兰克 - 现在花了几天时间试图了解Windows的谜团。
答案 0 :(得分:2)
您应确保实际使用批处理文件作为参数调用cmd.exe
,而不是仅调用批处理文件。
类似的东西:
C:\Windows\System32\cmd.exe /C C:\opt\consequor\pib\yourbatch.bat
答案 1 :(得分:0)
我推荐这种方法:
但是看看“SET PATH =”这一行,我发现有些变量没有正确表达(CONSEQUOR_PIB_HOME和其他变量中缺少前导%)这可能是问题...