先写个例子,用Java启动tomcat
package com.yymt.pf.rpc.loadbalance;
import java.io.File;
import java.io.IOException;
public class ExecFileUtil {
public static void main(String[] args) throws IOException {
run("cmd /C start startup.bat", null, new File(
"E:\\develop_tools\\apache-tomcat-6.0.26\\bin\\"));
System.out.println("Started!");
}
/**
* @param path
* a specified system command
* @param envp
* array of strings, each element of which has environment
* variable settings in the format name=value, or null if the
* subprocess should inherit the environment of the current
* process.
* @param dir
* the working directory of the subprocess, or null if the
* subprocess should inherit the working directory of the current
* process.
* @return
* @throws IOException
*/
public static Process run(String cmd, String[] envp, File dir)
throws IOException {
Runtime rt = Runtime.getRuntime();
return rt.exec(cmd, envp, dir);
}
}
其实很简单,但是结合一些应用场景,也许就很有用了,比如在软件级集群,集群控制器可以通过批处理命令来重启健康状况恶化的服务器实例。当然是指单机多实例集群,跨物理机的集群,应该需要os或者硬件级别的支持吧
这里有些参考