
tasklist命令找到该程序的进程,taskkill杀掉该进程。
tomcat的启动、结束bat都是调用org.apache.catalina.startup.Bootstrap这个类实现的,startup.bat最终会执行Bootstrap.java里的
public void start() throws Exception {if( catalinaDaemon==null ) init()
Method method = catalinaDaemon.getClass().getMethod("start", (Class [] )null)
method.invoke(catalinaDaemon, (Object [])null)
}
shutdown.bat最终会执行Bootstrap里的
public void stopServer() throws Exception {Method method = catalinaDaemon.getClass().getMethod("stopServer", (Class []) null)
method.invoke(catalinaDaemon, (Object []) null)
}
你也可以这样写一个类来控制程序的启动、终止,bat就调用对应的方法。
1.public class TestShutDownHook {
2.
public TestShutDownHook() {
3.
doShutDownWork()
4.
}
5.
private void doShutDownWork() {
6.
Runtime run=Runtime.getRuntime()//当前 Java 应用程序相关的运行时对象。
7.
run.addShutdownHook(new Thread(){ //注册新的虚拟机来关闭钩子
8.
@Override
9.
public void run() {
10.
//程序结束时进行的 *** 作
11.
System.out.println("程序结束调用")
12.
}
13.
})
14.
}
15.
public static void main(String[] args) {
16.
new TestShutDownHook()
17.
for (int i = 0i <1000i++) { // 在这里增添您需要处理代码 }
18.
System.out.println(i)
19.
}
20.
}
21.
}
public static void main(String[] args) {System.out.println("程序开始执行")
try {
// 延时 30 秒
Thread.sleep(30 * 1000)
} catch (InterruptedException e) {
e.printStackTrace()
}
System.out.println("已过30秒,程序结束")
//退出
System.exit(0)
}
楼上两家的结合起来就实现了 程序运行 等待30秒后结束
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)