这几天我一直很忙,所以我正在访问 Stack Overflow。
我目前在 Java Web 服务器 (openJDK11) 上使用 Tomcat 9。实现使用运行时运行服务器的批处理文件。
但是在eclipse调试下可以用,但是注册Windows服务就不行了。
是什么原因?解决办法是什么?
让我知道答案。
总结:
WebServer(Eclipse) -> batch-file1 -> batch-file2 : success
WebServer(windows service) -> batch-file1 -> batch-file2 : Fail
Java 代码:
String command = "C:\\TOMCAT9\\bin\\getAuth_restart.bat";
Runtime.getRuntime().exec(command);
我的批处理文件 1: @回声关闭
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
set params = %*:"=""
echo UAC.ShellExecute "cmd.exe", "/k ""%~dp0\restart.bat"" %params%", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
del "%temp%\getadmin.vbs"
我的批处理文件 2 (restart.bat):
taskkill /F /FI "services eq MyService" timeout /t 5 >nul
net start MyService