Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows srvany.exe不启动.bat文件_Windows_Batch File_Cmd_Srvany - Fatal编程技术网

Windows srvany.exe不启动.bat文件

Windows srvany.exe不启动.bat文件,windows,batch-file,cmd,srvany,Windows,Batch File,Cmd,Srvany,(操作系统:Windows 7) 我使用SC.EXE创建了一个Windows服务。此外,我还创建了必要的注册表项来指定应用程序路径(使用键参数) “应用程序”是一个.BAT文件,它设置了几个环境变量,然后调用Python脚本。当直接从CMD中运行.BAT文件时,我得到了正常的、期望的行为 使用服务管理器,我可以启动和停止服务(也可以使用直接从CMD发出的SC.EXE)。一切正常,没有任何警告、错误或任何其他内容(在事件日志中) BAT文件不会被执行。我仔细检查了应用程序路径,仔细检查了服务名称

(操作系统: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-我还不能发布图片…-如果有人想看,我可以通过直接电子邮件发送…)

感谢您提供有关如何调试、修复、更改的任何提示—您知道

问候


Frank-已经花了几天时间试图理解Windows奥秘。

您应该确保使用批处理文件作为参数调用
cmd.exe
,而不仅仅是调用批处理文件

类似于此:

C:\Windows\System32\cmd.exe /C C:\opt\consequor\pib\yourbatch.bat

我建议采取这种办法:

  • 以系统用户身份启动
  • 切换到会话0(从“交互式服务检测”对话框或)以查找命令提示符
  • 从命令行运行批处理文件,查看它报告的错误

  • 但是查看“SET PATH=”行,我发现一些变量没有正确表达(conseqor\u PIB\u HOME和其他变量中缺少前导的%),这可能是问题所在…

    根据您的建议,我将“Application”的注册表项更改为C:\Windows\System32\cmd.exe/C:\opt\conseqor\PIB\PIB\u b0100\pibsvc.bat。不幸的是,行为没有改变。srvany.exe已启动,但底层python.exe(从BAT文件调用)未启动。谢谢-这就成功了!会话0切换解决了该问题。