package com.rockton.gpsrouter.utils;
import java.io.IOException;
import java.io.InputStream;
public final class LinuxCmdEngin {
public static final String processUseBasic(String command) {
Process p = null;
StringBuilder sb = new StringBuilder();
try {
String[] comands = new String[] { "/bin/sh", "-c", command };
p = Runtime.getRuntime().exec(comands);
String error = read(p.getErrorStream());
String outInfo = read(p.getInputStream());
String resultCode = "0";//脚本中输出0表示命令执行成功
if (error.length() != 0) { //如果错误流中有内容,表明脚本执行有问题
resultCode = "1";
}
sb.append(resultCode);
sb.append(error);
sb.append(outInfo);
p.waitFor();
} catch (Exception e) {
} finally {
try {
p.getErrorStream().close();
} catch (Exception e) {
}
try {
p.getInputStream().close();
} catch (Exception e) {
}
try {
p.getOutputStream().close();
} catch (Exception e) {
}
}
return sb.toString();
}
public static final String read(InputStream in) throws IOException {
StringBuilder sb = new StringBuilder();
int ch;
while (-1 != (ch = in.read()))
sb.append((char) ch);
return sb.toString();
}
}
在JVM中能够顺利的执行linux命令,可以带来很多可以想象的内容,例如,部署在linux上的服务,可以通过web实现在线管理。在我这里,tomcat和一个java桌面应用部署在同一个Linux服务器上, 这个桌面应用程序的网络管理就是通过上面代码实现,实现了在线网络管理。
可以进一步拓展,例如让其在线升级,文件上传后,复制了jar后可以立即重启,等等。
欢迎拍砖!
- 大小: 8.3 KB
分享到:
相关推荐
java 执行linux命令源码,java调用shell脚本源码,java web发布war到tomcat,servlet文件上传,ajax文件上传。 java web 上传war包、停止、启动、发布tomcat。 命令修改成自己的目录即可使用。
Java程序调用linux命令、脚本,支持程序在服务器上使用linux命令。工具类为:ProcessUtil,支持单个命令和批量命令执行函数,同时在工具类中添加了getFileLineNumByCmd函数支持通过linux命令获取文件行数的样例。
java调用Linux命令获取输出流,用于解决获取不到输出流的方法
主要介绍了java执行Linux命令的方法,涉及对Java中Runtime.exec()函数的应用,具有一定的参考借鉴价值,需要的朋友可以参考下
java连接linux,执行shell命令的工具类 sshxcute.jar
在Linux系统下用java执行系统命令实例讲解
Java调用Linux命令 调用Runtime.exec方法将产生一个本地的进程,并返回一个Process子类的实例, (注意:Runtime.getRuntime().exec(command)返回的是一个Process类的实例), 该实例可用于控制进程或取得进程的...
java通过代码登录远程linux服务器并执行linux命令源码以及jar包
sshxcute 就是这样一个框架工具集,它基于 JSCH 构建,允许工程师利用Java 代码通过 SSH 连接远程批量执行 Linux/UNIX 系统上的命令或者脚本,同时加入了判断成功与否,取回输出等多种实用功能。sshxcute 不管是针对...
java代码执行linux系统命令
java操作linux工具包
java开发的swing客户端,远程执行linux命令
采用Java语言编写的Linux简单命令解释器。可输入的Linux命令有:pwd、list、cd、mkdir、rmdir、rename、copy、find。
Java运行命令 使用Java运行Linux命令 伊斯梅特·赛义德·萨利克(Ismet SaidÇalık)
NULL 博文链接:https://xdjava.iteye.com/blog/1731727
本方法是用java语言写的一个方法,可以远程连接linux系统,并在自己想要的正确的运行目录下去执行自己想要执行的正确的命令;java语言可以直接将此方法放入服务层调用。
java操作Linux环境,jsch,执行Linux命令;执行SSH上传文件;执行远程脚本
linux 服务 运行java 命令,可通过{start|stop|restart|status},查看运行状态。
java调用执行系统命令的工作类。包括在Linux和windows系统,已经系统错误输出流的监控。