java程序通过命令停止

java程序通过命令停止,第1张

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秒后结束


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7808566.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-10
下一篇2023-04-10

发表评论

登录后才能评论

评论列表(0条)

    保存