package com.starfast.common.util;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.LineNumberReader; /**
* @author DUCHONG
* @since 2018-05-04 10:57
**/
public class LinuxCmdUtils { static Logger logger= LoggerFactory.getLogger(LinuxCmdUtils.class); public static boolean executeLinuxCmd(String cmd) { boolean result=false; System.out.println("got cmd : " + cmd);
Runtime run = Runtime.getRuntime();
//InputStream in=null;
try {
Process process = run.exec(cmd);
//执行结果 0 表示正常退出
int exeResult=process.waitFor();
if(exeResult==0){
System.out.println("执行成功");
result=true;
} }
catch (Exception e) {
logger.error("LinuxCmdUtils.executeLinuxCmd error",e);
}
return result;
} /**
* 获取linux命令执行的结果,cat 之类
* @param cmd
* @return
*/
public static String getCmdResult(String cmd) { String result = "";
try { Process process = Runtime.getRuntime().exec(cmd);
InputStreamReader ir = new InputStreamReader(process.getInputStream());
LineNumberReader input = new LineNumberReader(ir);
String line;
while ((line = input.readLine()) != null){
result=line;
} } catch (java.io.IOException e) { System.err.println("IOException " + e.getMessage()); }
return result;
} /**
* grep 类的shell命令
* @param cmdStr
* @return
*/
public static String getGrepCmdReturn(String cmdStr){ String[] cmd = new String[3]; cmd[0]="/bin/sh";
cmd[1]="-c";
cmd[2]=cmdStr; //得到Java进程的相关Runtime运行对象
Runtime runtime = Runtime.getRuntime();
StringBuffer stringBuffer=null;
try
{ Process process = runtime.exec(cmd); BufferedReader bufferReader = new BufferedReader(
new InputStreamReader(process.getInputStream())); stringBuffer= new StringBuffer(); String temp = null; while ((temp = bufferReader.readLine()) != null)
{
stringBuffer.append(temp);
} }
catch (IOException e)
{
e.printStackTrace();
} return stringBuffer.toString();
} public static void main(String[] args) { System.out.println(LinuxCmdUtils.getGrepCmdReturn("dmidecode -s system-serial-number|grep -v \"#\""));
}
}

  

java执行linux命令的工具类的更多相关文章

  1. Java 执行linux命令(转)

    转自 http://blog.csdn.net/a19881029/article/details/8063758 java程序中要执行linux命令主要依赖2个类:Process和Runtime 首 ...

  2. java执行linux命令

    package com.gtstar.collector; import java.io.BufferedReader;import java.io.IOException;import java.i ...

  3. ganymedssh2 java执行linux命令

    需要下载ganymed-ssh2-262.jar package ganymed; import java.io.BufferedReader; import java.io.IOException; ...

  4. java 执行linux命令

    原文地址: http://blog.csdn.net/xh16319/article/details/17302947 package scut.cs.cwh; import java.io.Inpu ...

  5. 利用java实现可远程执行linux命令的小工具

    在linux的脚本中,如果不对机器做其他的处理,不能实现在linux的机器上执行命令.为了解决这个问题,写了个小工具来解决这个问题. 后面的代码是利用java实现的可远程执行linux命令的小工具,代 ...

  6. Java程序执行Linux命令

    Java程序中要执行linux命令主要依赖2个类:Process和Runtime 首先看一下Process类: ProcessBuilder.start() 和 Runtime.exec 方法创建一个 ...

  7. Java程序执行Linux命令(JSP运行其他程序)

    java程序中要执行linux命令主要依赖2个类:Process和Runtime 首先看一下Process类: ProcessBuilder.start() 和 Runtime.exec 方法创建一个 ...

  8. Java调用Linux命令执行

    调用方式 Java调用linux命令执行的方式有两种,一种是直接调用linux命令,一种是将linux命令写到.sh脚本中,然后调用脚本执行. 详细说明 直接调用:使用java中lang包下面的Run ...

  9. java执行cmd命令和linux命令

    文章出处http://blog.csdn.net/xh16319/article/details/17302947 一:window下执行cmd指定 一:window下执行cmd指定 程序例子: [j ...

随机推荐

  1. 为mac编写swift脚本

    代码示例: #!/usr/bin/env xcrun swift print("Hello World") 可以用Sublime Text编写,安装Swift包后有语法着色功能.然 ...

  2. RK30SDK系统重启源码分析

    Linux系统重启的最底层函数是arch_reset,这是一个全局的函数指针变量,定义在 arch/arm/mach-rk30/include/mach/system.h中: extern void ...

  3. ie-9 以下ajax无法跨域的问题。只要add:jQuery.support.cors=true;即可

    if (!jQuery.support.cors && window.XDomainRequest) { var httpRegEx = /^https?:\/\//i; var ge ...

  4. hibernate ORM related

    一.单向关联(unidirectional associations): 1.1.1 Many-to-one Employee.hbm.xml <class name="Employe ...

  5. redhat5.8 alt+ctrl+f1 黑屏

    /********************************************************************** * redhat5.8 alt+ctrl+f1 黑屏 * ...

  6. Spark入门实战系列

    转自:http://www.cnblogs.com/shishanyuan/p/4699644.html 这一两年Spark技术很火,自己也凑热闹,反复的试验.研究,有痛苦万分也有欣喜若狂,抽空把这些 ...

  7. spark 单机版安装

    jdk-8u73-linux-x64.tar.gz hadoop-2.6.0.tar.gz scala-2.10.6.tgz spark-1.6.0-bin-hadoop2.6.tgz 1.安装jdk ...

  8. Python 函数 id()

    id(object) 功能:返回的是对象的“身份证号”,唯一且不变,但在不重合的生命周期里,可能会出现相同的id值.此处所说的对象应该特指复合类型的对象(如类.list等),对于字符串.整数等类型,变 ...

  9. 《hadoop权威指南》关于hive的第一个小例子的演示

    本文是<hadoop权威指南>关于hive的小例子,通过这个例子可以很好地看出来hive是个什么东西. 前提是已经配置好hive的远程连接版本的环境,我是用了MYSQL数据库保存元数据. ...

  10. CentOS6.5 下MySQL傻瓜式安装

    为了为服务器上装mysql我先在虚拟机上练习了一下特此记录并分享; 注:参考文章https://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/ ...