根據公司需求,弄一個根據注冊碼使用系統的功能;是一個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);
弄了一天的功能,就這樣一行代碼給解決了