我将尝试通过nssm将批处理文件作为Windows服务运行,如果未运行,则会运行一个exe文件。
我创建从批处理文件创建服务的代码。
CALL "%~dp0nssm64.exe" install MyService "%~dp0test.bat"
CALL "%~dp0nssm64.exe" start MyService
(%~dp0 是我正在运行的批处理文件的路径)
我没有创建服务的问题,但是在尝试手动启动时出现以下消息:
在Windows事件查看器中,有一个警告,其中包含消息“服务MyService的运行时间少于1500毫秒。重启将被延迟256000毫秒。”
那么我该如何解决这个问题?有什么想法吗? 谢谢
编辑
以下是批处理文件代码:
tasklist /FI "IMAGENAME eq SomeEXE.exe" 2>NUL | find /I /N "SomeEXE.exe">NUL
if "%ERRORLEVEL%"=="0" echo Program is running
if "%ERRORLEVEL%"=="1" start "" "%~dp0SomeEXE.exe"
"%~dp0nssm64.exe" install MyService "%~dp0test.bat">NUL 2>&1&&"%~dp0nssm64.exe" Start MyService
。至于你的批处理文件,你需要删除上面的注释,并将内容作为格式正确的代码添加到你的问题中(使用[{}]
按钮进行编辑)。 - Compo