先写个例子,用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或者硬件级别的支持吧
这里有些参考