我正在尝试使用命令 停止带有底层 Java 进程的 Windows 服务net stop
。有时底层进程不会停止。我只能通过执行 来停止它taskkill /f /pid
。
我可以做什么呢?
答案1
不幸的是,这里的选择有限。
由于您的 java 应用程序不是与 Windows 服务控制管理器集成的真正的 Windows 服务,因此发出“net stop”将失败。您的 java.exe 将继续运行,必须通过其他方法停止。
正如您所指出的,taskkill 是一种解决方案。当不使用“/f”参数时,taskkill 应该会尝试正常关闭 java.exe。
另一个选项是使用自定义方法指示程序关闭。例如,如果您的程序支持 Web 界面,您可以通过网络发送请求来要求其关闭。