我从一个批处理文件开始一个Java后台进程(Solr)
start /b java -jar ...
问题是start /b
它将屏蔽进程免受 SIGINT 信号的影响,请参阅help start
. 这意味着它taskkill /pid ...
不会工作,并且taskkill /f /pid ...
会在不让它先执行关闭挂钩的情况下终止进程。
是否有另一种方法可以从 .bat 文件启动 Windows 上的后台进程,而无需打开窗口且不屏蔽 SIGINT?或者是否有另一种向 java VM 发送信号的方法,以便 Solr 在运行时优雅地关闭start /b
?
如果可能的话,我想使用普通的批处理脚本而不是 VBScript 或类似的脚本,因为这是我们大多数用户可能最了解的。