服务端代码
/**
* 执行shell命令
* @param command 执行命令
* @return
*/
public String exeCommandByPath( String command){
log.info("进入执行shell命令方法 执行命令:" + command);
String returnString = "";
Process pro = null;
String[] cmds = { "/bin/sh", "-c", command };
Runtime runTime = Runtime.getRuntime();
if (runTime == null) {
log.info("Create runtime false!");
}
try {
pro = runTime.exec(cmds);
BufferedReader input = new BufferedReader(new InputStreamReader(pro.getInputStream()));
PrintWriter output = new PrintWriter(new OutputStreamWriter(pro.getOutputStream()));
String line;
while ((line = input.readLine()) != null) {
returnString = returnString + line + "\n";
}
input.close();
output.close();
pro.destroy();
} catch (Exception ex) {
log.info("执行shell命令出现异常" + ex.getMessage());
}
log.info("执行shell命令方法结果" + returnString);
return returnString;
} 客户端代码
/**
* 执行shell命令
*
* @param command 执行命令
* @return
*/
public String exeCommandByPath(String command) throws Exception {
Response response = null;
try { Client client = ClientBuilder.newClient();
WebTarget target = client.target(路径(http://.....)).queryParam("command", command);
client.property(ClientProperties.CONNECT_TIMEOUT, 2000);
client.property(ClientProperties.READ_TIMEOUT, 10);
response = target.request().get();
if (response.getStatus() == 200) {
String result = response.readEntity(String.class);
log.error("执行shell命令时{}返回值", result);
return result;
} else {
throw new Exception("执行shell命令时连接失败!");
}
} catch (Exception e) { log.error("执行shell命令时{}出现异常", command, e);
throw new Exception("执行shell命令时{}" + command + "出现异常:" + e.getMessage());
} finally {
log.info("执行shell命令时{}", command); }
} 客户端和服务端通过restful进行http关联

java通过http服务执行shell命令的更多相关文章

  1. Android Java执行Shell命令

    最新内容建议直接访问原文:http://www.trinea.cn/android/android-java-execute-shell-commands/ 主要介绍Android或Java应用中如何 ...

  2. Android 用java语言执行Shell命令

    最近项目中需要用到java语言来执行shell命令,在网上查了资料, 把自己在项目里用到的命令整理成了工具类开放给大家,希望对大家有用.功能不全,后期我会慢慢添加整合. public class Sh ...

  3. java执行Shell命令

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

  4. Java 实现 ssh命令 登录主机执行shell命令

    Java 实现 ssh命令 登录主机执行shell命令 1.SSH命令 SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定:SS ...

  5. 第3节 sqoop:7、通过java代码远程连接linux执行shell命令

    数据库的数据同步软件sqoop 数据同步 关系型数据库到大数据平台 任务:sqoop 是批量导入数据太慢,如何做到实时的数据同步 实时的数据同步工具: canal 阿里开源的一个数据库数据实时同步的软 ...

  6. 【Hadoop离线基础总结】通过Java代码执行Shell命令

    通过Java代码执行Shell命令 需求 在实际工作中,总会有些时候需要我们通过java代码通过远程连接去linux服务器上面执行一些shell命令,包括一些集群的状态管理,执行任务,集群的可视化界面 ...

  7. java 执行shell命令及日志收集避坑指南

    有时候我们需要调用系统命令执行一些东西,可能是为了方便,也可能是没有办法必须要调用.涉及执行系统命令的东西,则就不能做跨平台了,这和java语言的初衷是相背的. 废话不多说,java如何执行shell ...

  8. Java远程执行Shell命令

    1. Jar包:ganymed-ssh2-build210.jar 2. 步骤: a) 连接: Connection conn = new Connection(ipAddr); conn.conne ...

  9. Android执行shell命令

    一.方法 /** * 执行一个shell命令,并返回字符串值 * * @param cmd * 命令名称&参数组成的数组(例如:{"/system/bin/cat", &q ...

随机推荐

  1. Android---TextView实现图文混排一

    TextView使用ImageSpan显示图片 SpannableStringBuilder spannableStringBuilder = new SpannableStringBuilder() ...

  2. Mysql添加字段.md

    alter table td_user add gender bit DEFAULT 0 COMMENT '性别';

  3. java如何正确停止一个线程

    Thread类中有start(), stop()方法,不过stop方法已经被废弃掉. 平时其实也有用过,共享一个变量,相当于标志,不断检查标志,判断是否退出线程 如果有阻塞,需要使用Thread的in ...

  4. springboot 初识

    从实用主义来学习springboot的话,那我们期望的就是首先知道 1 他是个什么东西 2 我们为什么要用他,他能带来什么样的好处 3 如何快速上手 简单来讲,springboot你可以理解成spri ...

  5. HDU6154

    CaoHaha's staff Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)T ...

  6. 修复vs2012出现 “无法找到包源”的错误

    出现以上问题,需要去“控制面板”添加程序,找到vs2012右键“修改” 用来安装 web Developer 如下图所示: 点击继续

  7. 语义SLAM的数据关联和语义定位(三)

    与现有方法的异同 特征点SLAM中的数据关联 先回忆一下特征点SLAM中,我们是如何处理数据关联的.下面以ORBSLAM为例. 在初始化部分,我们通过特征描述子的相似性,建立两帧之间的特征点关联,然后 ...

  8. 代码操作Word时,目录自动更新的两种方法

    最近的项目中有一个功能点为:根据分析数据库并生成报告.不过不是大数据.数据挖掘之类,报告的内容.组织方式都是事先固定下来的.实现的方式为,在普通word文档中插入书签制成模板,然后程序使用OpenXM ...

  9. Asp.net MVC检测到有潜在危险的 Request.Form 值

    解决方法很简单,不像网上说的那么麻烦.只需一步: [ValidateInput(false)] public ActionResult Test(){ }

  10. android 性能优化 -- 启动过程 冷启动 热启动

    一.应用的启动方式 通常来说,启动方式分为两种:冷启动和热启动. 1.冷启动:当启动应用时,后台没有该应用的进程,这时系统会重新创建一个新的进程分配给该应用,这个启动方式就是冷启动. 2.热启动:当启 ...