java执行linux命令的工具类
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命令的工具类的更多相关文章
- Java 执行linux命令(转)
转自 http://blog.csdn.net/a19881029/article/details/8063758 java程序中要执行linux命令主要依赖2个类:Process和Runtime 首 ...
- java执行linux命令
package com.gtstar.collector; import java.io.BufferedReader;import java.io.IOException;import java.i ...
- ganymedssh2 java执行linux命令
需要下载ganymed-ssh2-262.jar package ganymed; import java.io.BufferedReader; import java.io.IOException; ...
- java 执行linux命令
原文地址: http://blog.csdn.net/xh16319/article/details/17302947 package scut.cs.cwh; import java.io.Inpu ...
- 利用java实现可远程执行linux命令的小工具
在linux的脚本中,如果不对机器做其他的处理,不能实现在linux的机器上执行命令.为了解决这个问题,写了个小工具来解决这个问题. 后面的代码是利用java实现的可远程执行linux命令的小工具,代 ...
- Java程序执行Linux命令
Java程序中要执行linux命令主要依赖2个类:Process和Runtime 首先看一下Process类: ProcessBuilder.start() 和 Runtime.exec 方法创建一个 ...
- Java程序执行Linux命令(JSP运行其他程序)
java程序中要执行linux命令主要依赖2个类:Process和Runtime 首先看一下Process类: ProcessBuilder.start() 和 Runtime.exec 方法创建一个 ...
- Java调用Linux命令执行
调用方式 Java调用linux命令执行的方式有两种,一种是直接调用linux命令,一种是将linux命令写到.sh脚本中,然后调用脚本执行. 详细说明 直接调用:使用java中lang包下面的Run ...
- java执行cmd命令和linux命令
文章出处http://blog.csdn.net/xh16319/article/details/17302947 一:window下执行cmd指定 一:window下执行cmd指定 程序例子: [j ...
随机推荐
- 使用Putty和Xshell远程登录之密钥认证
本次实验主要使用目前使用最多的Putty和Xshell工具进行实验 关于SSH密钥认证原理,请参考链接:http://www.cnblogs.com/ImJerryChan/p/6661815.htm ...
- 配置SSH密码登录
在客户端生成公钥: ssh-keygen –t rsa 生成的公钥默认位置在~/.ssh/目录 把公钥上传到服务器端: scp id_rsa.pub root@ip地址:文件保存路径 cat id_r ...
- 继续吐槽XE5中的boost::thread问题:找不到CC32130MT.DLL
在XE5中,随便创建一个HelloWorld程序,加入boost::thread的功能,编译链接后,无法运行,无法调试,提示找不到CC32130MT.DLL 这个DLL名字看上去好像是跟多线程有关的, ...
- 伯乐在线资讯URL
伯乐资讯URL # encoding: utf-8 import requests from bs4 import BeautifulSoup import csv import time base_ ...
- IDEA部署和导入guns
1.使用idea进行open -> guns-parent2.修改数据源: 目标:guns-admin\src\main\resources\application.yml 修改内容: 2.1 ...
- scnaf()读入字符串需要注意的地方
#include<iostream> #include<cstdio> using namespace std; int main() { ],cch[]; int a; ci ...
- hdu4771 Stealing Harry Potter's Precious(DFS,BFS)
练习dfs和bfs的好题. #include<iostream> #include<cstdio> #include<cstdlib> #include<cs ...
- unix的输入输出操作
unix的输入输出操作 使用的头文件 #include <unistd.h> #include <stdio.h> 函数说明 ssize_t read(int fd, void ...
- Java String Split Method
Java String.split() method 有如下几种特殊情况: 1. 分隔符出现在首尾 public static void main(String args[]) { String St ...
- bzoj 1798 [Ahoi2009]Seq 维护序列seq ——线段树
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1798 先乘后加,就可给加法标记乘上乘法标记. 注意可能有 *0 的操作,所以 pshd 时不 ...