赞
踩
我会使用调度程序或服务来运行程序.但是,如果您希望使用bat文件并以编程方式执行此操作,我已在下面概述了一种可能的方法:
在Java程序中,您可以以编程方式获取PID,然后将其写入文件:
public static void writePID(String fileLocation) throws IOException
{
// Use the engine management bean in java to find out the pid
// and to write to a file
if (fileLocation.length() == 0)
{
fileLocation = DEFAULT_PID_FILE;
}
String pid = ManagementFactory.getRuntimeMXBean().getName();
if (pid.indexOf("@") != -1)
{
pid = pid.substring(0, pid.indexOf("@"));
}
BufferedWriter writer = new BufferedWriter(new FileWriter(fileLocation));
writer.write(pid);
writer.newLine();
writer.flush();
writer.close();
}
然后,您可以编写一个停止.bat文件,该文件将终止Windows中正在运行的程序.你可以这样做:
setlocal
IF EXIST app.pid FOR /F %%i in ('type app.pid') do TASKKILL /F /PID %%i
IF EXIST app.pid DEL app.pid
endlocal
当然,app.pid是上面Java方法编写的文件.
我不知道你怎么能写一个启动java程序的脚本,并在终止时恢复控制.我很想知道是否有人有解决方案.
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。