首页 > 怎么让一个java程序接收命令后重启

怎么让一个java程序接收命令后重启

1 一个web程序部署在tomcat程序中,
怎么让程序接受重启命令后重启


直接用 java 调用系统命令重启 tomcat
代码大概是这样子:

public static void runShell(final String cmd) throws IOException, InterruptedException {
        executorService.execute(new Runnable() {
            @Override
            public void run() {
                try {
                    Runtime run = Runtime.getRuntime();
                    Process p = run.exec(cmd);
                    BufferedInputStream in = new BufferedInputStream(p.getInputStream());
                    BufferedReader inBr = new BufferedReader(new InputStreamReader(in));
                    String lineStr;
                    while ((lineStr = inBr.readLine()) != null) {
                        logger.info(lineStr);// 打印输出信息
                    }

                    //检查命令是否执行失败。
                    if (p.waitFor() != 0) {
                        if (p.exitValue() == 1) {// 0表示正常结束,1:非正常结束
                            logger.error(cmd + "命令执行失败!");
                        }
                    }
                    inBr.close();
                    in.close();
                } catch (Exception e) {
                    logger.error("调用系统命令失败!", e);
                }
            }
        });

    }

可以做一个独立的接口服务,执行一段起停的脚本,这样就可以达到你要的效果了


web程序重启无非是结束进程,执行系统退出4函数,然后执行main方法启动容器,此程序必须独立

【热门文章】
【热门文章】