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就调用对应的方法。
在java程序中,可以使用java.lang.System的exit方法来终止程序的执行,12345678
public static void main(String[] args) {System.out.println("开始进入程序...") //do somethingSystem.out.println("程序准备退出了!") System.exit(0) //下面这句话将不会打印出来System.out.println("程序已经退出了!")}
但是使用exit方法的本质是终止了JVM的运行,如果同时运行了另外一个程序,使用exit方法同样也会使该程序也终止,要避免此种情况可以使用interrupt()来中断退出一个独立运行的过程。对于多线程程序,必猛含迟须要关闭各个非守护线程。
1234567891011121314151617181920212223
public static void main(String[] args) {System.out.println("开始进入程序...") //do somethingnew Thread(){public void run() {while (true) {System.out.println("我是另外的线程...") try {Thread.sleep(2000) } catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace() }}}}.start()//获取man线枝李程Thread main = Thread.currentThread() System.out.println(main.getName()) main.interrupt() System.out.println("老燃main线程已经退出了,但是不影响其他线程运行!") }
只有在程序非正常退出时,才使用exit方法退出程序。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)