java shell 命令
/** * * @author baoyou E-mail:curiousby@163.com * @version 2016年11月2日 下午1:54:49 * desc: */ public class ShellProcess { private static ShellProcess instance; public static ShellProcess getInstance() { if (instance == null) { synchronized (ShellProcess.class) { if (instance == null) { instance = new ShellProcess(); } } } return instance; } /** * 执行相应shell脚本 * @param args 执行脚本的参数,[0]path:shell脚本路径;[1~n]脚本入参 * @return 返回码,0:成功 1:失败 */ public int runShell(String[] args) { int runRes = SystemGlobal.FAILED; try { Process process = Runtime.getRuntime().exec(args);//调用相应shell脚本 new StreamGobbler(process.getInputStream(), StreamGobbler.INFO).start(); new StreamGobbler(process.getErrorStream(), StreamGobbler.ERROR).start(); runRes = process.waitFor(); } catch (Exception e) { e.printStackTrace(); } return runRes; } /** * 执行相应shell命令 * @param cmd 执行的命令 * @return 返回码,0:成功 1:失败 */ public int runShell(String cmd) { return runShell(cmd); } /** * 自动根据运行时环境执行shell命令 * @param args shell命令以空格分割后的list * @return 返回码,0:成功 1:失败 */ public int runShell(List<String> args) { int runRes = SystemGlobal.FAILED; try { ProcessBuilder pb = new ProcessBuilder(args); Process process = pb.start(); new StreamGobbler(process.getInputStream(), StreamGobbler.INFO).start(); new StreamGobbler(process.getErrorStream(), StreamGobbler.ERROR).start(); runRes = process.waitFor(); } catch (Exception e) { e.printStackTrace(); } return runRes; } /** * 执行shell命令,并获取返回结果 * @param args shell命令以空格分割后的list * @return 执行shell命令后的返回结果(按行分割后的list),如果发生异常,返回空List */ public List<String> runShellWithResult(List<String> args) { List<String> results = new ArrayList<String>(); try { ProcessBuilder pb = new ProcessBuilder(args); Process process = pb.start(); BufferedReader br = new BufferedReader(new InputStreamReader(process.getInputStream())); String data = null; while ((data = br.readLine()) != null) { results.add(data); } new StreamGobbler(process.getInputStream(), StreamGobbler.INFO).start(); new StreamGobbler(process.getErrorStream(), StreamGobbler.ERROR).start(); process.waitFor(); } catch (Exception e) { e.printStackTrace(); return new ArrayList<String>(); } return results; } }
package com.taskschedule.util; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import org.apache.log4j.Logger; /** * * @author baoyou E-mail:curiousby@163.com * @version 2016年11月2日 下午1:54:57 * desc: */ public class StreamGobbler extends Thread { private InputStream is; private int type; private static Logger logger = Logger.getLogger(StreamGobbler.class); public static final int INFO = 0; public static final int ERROR = 1; public StreamGobbler(InputStream is, int type) { this.is = is; this.type = type; } @Override public void run() { try { InputStreamReader isr = new InputStreamReader(is); BufferedReader br = new BufferedReader(isr); String line = null; while ((line = br.readLine()) != null) { if (type == INFO) { logger.info(line); } else if (type == ERROR) { logger.error(line); } } } catch (IOException ioe) { ioe.printStackTrace(); } } }
捐助开发者
在兴趣的驱动下,写一个免费
的东西,有欣喜,也还有汗水,希望你喜欢我的作品,同时也能支持一下。 当然,有钱捧个钱场(右上角的爱心标志,支持支付宝和PayPal捐助),没钱捧个人场,谢谢各位。
谢谢您的赞助,我会做的更好!
相关推荐
java shell 使用shell脚本执行java 程序
shell,bat脚本运行java程序, shell,bat脚本运行java程序,
java调用shell 包含简单的编写shell文件 调用含有参数的shell文件
在java代码中调用执行shell脚本,sqlldr导数与使用sqlplus在shell调用执行存储过程。 linux环境中有2个dba的用户:oracle、erm 还有1个web用户:erm 在linux环境中,这三个用户都可以直接在任意目录下执行该shell...
java调用shell脚本java调用shell脚本java调用shell脚本java调用shell脚本java调用shell脚本java调用shell脚本
Java实现远程执行SHELL, JAVA实现远程登陆执行shell脚本。上传文件到远程服务器,下载远程服务器资源。 ShellExecutor exe = new ShellExecutor("192.168.1.1", 22, "USERNAME", "PASSWORD"); if (exe.login()) {...
用Java实现的shell,用Java实现的shell,用Java实现的shell用Java实现的shell用Java实现的shell用Java实现的shell用Java实现的shell用Java实现的shell用Java实现的shell用Java实现的shell
java连接linux,执行shell命令的工具类 sshxcute.jar
sshxcute 就是这样一个框架工具集,它基于 JSCH 构建,允许工程师利用Java 代码通过 SSH 连接远程批量执行 Linux/UNIX 系统上的命令或者脚本,同时加入了判断成功与否,取回输出等多种实用功能。sshxcute 不管是针对...
java运行dos命令 java执行Shell java执行bat
linux shell脚本启动java。 ---------------------------------------- Windows编辑的sh,在linux会报错: shell unexpected end of file 解决办法: vim test.sh :set fileformat=unix :wq ----------------------...
用java语言,sokcet远程连接执行shell
shell脚本启动Java程序测试工程
java-telnet连接远程服务器并执行shell命令 具体代码 java-telnet
详细的linux shell脚本启动java代码类。
通过linux的SSH端口使用java代码远程对指定的linux服务器上执行shell命令,实测有用
java执行shell指令
在Java程序中调用Unix/Linux主机上的Shell命令,并返回相应执行结果。
本篇文章主要介绍了shell脚本运行java程序jar的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧