天天看點

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);           

弄了一天的功能,就這樣一行代碼給解決了