java退出程序

          根据公司需求,弄一个根据注册码使用系统的功能;是一个javaweb项目,根据客户服务器的mac地址,公司名称以及使用期限做一个限制性的功能;

         做到最后一步,关闭tomcat总是不行,关闭不了。也百度了很多代码比如:

package com.calltomcat.test;
 
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
 
public class CallTomcat {
 
    public static void main(String[] args) {
         
        //String command = "E:\\apache-tomcat-7.0.76\\bin\\startup.bat";//启动tomcat命令
        //String command = "E:\\apache-tomcat-7.0.76\\bin\\tomcat7w.exe";//启动Tomcat命令,仅限windows版本,无弹框
        String command = "E:\\apache-tomcat-7.0.76\\bin\\shutdown.bat";//关闭tomcat命令
        CallTomcat callTomcat = new CallTomcat();
        try {
            callTomcat.callCommand(command);
        } catch (IOException e) {
            System.out.println("执行命令时出错:" + e.getMessage());
        }
         
    }
     
    /**
     * 执行命令
     *
     * @throws IOException
     */
    private void callCommand(String command) throws IOException {
         
        Runtime runtime = Runtime.getRuntime();//返回与当前的Java应用相关的运行时对象
        //指示Java虚拟机创建一个子进程执行指定的可执行程序,并返回与该子进程对应的Process对象实例
        Process process = runtime.exec(command);
        runtime.gc();//运行垃圾回收器
        String line = null;
        String content = "";
        BufferedReader br = new BufferedReader(new InputStreamReader(process.getInputStream()));
        while((line = br.readLine()) != null) {
            content += line + "\r\n";
        }
        System.out.println(content);
         
    }
     
}

这个代码是可用的,但是需要去配置tomcat的路径环境变量.这样的话就不符合公司的需求了。

最后是一个同事提醒,java有个函数是可以退出程序的

System.exit(0);

弄了一天的功能,就这样一行代码给解决了

猜你喜欢

转载自blog.csdn.net/qq_38634841/article/details/85239553