Shell:
http://blog.csdn.net/bhq2010/article/details/7414788
Java执行Linux命令并返回命令结果
http://blog.csdn.net/jiafu1115/article/details/6941245
使用Java中的Runtime.exec()执行Windows命令 http://walsh.iteye.com/blog/449051
Java 可以通过 Runtime 调用Linux命令,形式如下:
Runtime.getRuntime().exec(command)
但是这样执行时没有任何输出,因为调用 Runtime.exec 方法将产生一个本地的进程,并返回一个Process子类的实例(注意:Runtime.getRuntime().exec(command)返回的是一个Process类的实例)该实例可用于控制进程或取得进程的相关信息。
由于调用 Runtime.exec 方法所创建的子进程没有自己的终端或控制台,因此该子进程的标准IO(如stdin,stdou,stderr)都通过 Process.getOutputStream(),Process.getInputStream(), Process.getErrorStream() 方法重定向给它的父进程了。
/**
* 运行shell脚本
* @param shell 需要运行的shell脚本
*/
public static void execShell(String shell){
try {
Runtime rt = Runtime.getRuntime();
rt.exec(shell);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 运行shell
*
* @param shStr
* 需要执行的shell
* @return
* @throws IOException
*/
public static List runShell(String shStr) throws Exception {
List<String> strList = new ArrayList();
Process process;
process = Runtime.getRuntime().exec(new String[]{"/bin/sh","-c",shStr},null,null);
InputStreamReader ir = new InputStreamReader(process
.getInputStream());
LineNumberReader input = new LineNumberReader(ir);
String line;
process.waitFor();
while ((line = input.readLine()) != null){
strList.add(line);
}
return strList;
}
CMD:
http://qiaolevip.iteye.com/blog/1693623
package com.anxin.cmd.test;
import java.io.BufferedReader;
import java.io.InputStreamReader;
/**
* @author: (le.qiao)
* @e-mail: qiaolevip@gmail.com
* @myblog: <a href="http://qiaolevip.iteye.com">http://qiaolevip.iteye.com</a>
* @date: 2012-10-8
*
*/
public class Command {
public static void main(String[] args) {
try {
Runtime rt = Runtime.getRuntime();
String[] args = new String[]{"cmd","/c",command};
Process pr = rt.exec(args,null,null);
//Process pr = rt.exec("cmd /c dir"); // cmd /c calc
// Process pr = rt.exec("D:\\xunlei\\project.aspx");
BufferedReader input = new BufferedReader(new InputStreamReader(pr.getInputStream(), "GBK"));
String line = null;
while ((line = input.readLine()) != null) {
System.out.println(line);
}
int exitVal = pr.waitFor();
System.out.println("Exited with error code " + exitVal);
} catch (Exception e) {
System.out.println(e.toString());
e.printStackTrace();
}
}
}
分享到:
相关推荐
在Java编程中,有时我们需要与操作系统进行交互,执行系统级别的命令,例如在控制台执行CMD命令或者通过SSH连接远程Linux服务器执行shell命令。这在自动化脚本、系统管理或者远程监控等场景中非常常见。本篇文章将...
import java.io.*; /** * <p>Title: 执行CMD命令 * * <p>Copyright: Copyright (c) 2010 *
Java执行CMD命令及MongoDB脚本是开发过程中常见的任务,特别是在集成系统或者自动化运维场景下。下面将详细讲解这两个主题。 一、Java执行CMD命令 在Java中,我们可以使用Runtime类或ProcessBuilder类来执行操作...
2. **调用Shell脚本**:通过Java的`Runtime.getRuntime().exec()`方法来执行Shell命令或脚本。 下面是一个具体的Java类实现示例,用于调用Shell脚本并记录执行日志: ```java import java.io.*; import java.text....
在IT领域,有时候我们需要在Java或JavaScript代码中执行操作系统级别的命令,例如运行系统脚本、管理文件、控制进程等。这种需求通常通过调用命令行(CMD)来实现。本文将详细探讨如何在Java和JavaScript中调用...
JNI在各种场景下都非常有用,比如性能优化、利用系统底层功能或者如本例所示,执行系统级别的操作,例如运行shell命令。本文将深入探讨如何使用JNI在Android中执行shell命令。 首先,理解JNI的工作原理是必要的。...
以下是一个简单的示例,展示如何在Java代码中执行`adb shell`命令: ```java public class AdbShellExecutor { public static void executeShellCommand(String command) { try { Process process = Runtime....
因为我在linux环境下执行shell脚本时sqlldr命令和sqlplus命令是正常执行的,没有任何问题,但是在java代码中调用脚本时却报错,所有排除了其他原因,只可能是环境变量的问题, 于是我把oracle的所有环境变量直接复制...
在Android开发中,有时我们需要执行一些底层操作,例如与硬件交互或者进行系统级别的操作,这时候JNI(Java Native Interface)和shell命令就显得尤为重要。本文将详细介绍如何在Android应用中使用JNI来执行shell...
标题“右键添加CMD命令”指的是在Windows操作系统中,通过修改注册表或安装特定软件,使得用户可以在文件夹上右键点击时,快速调出一个名为“CMD Here”的选项,以此打开命令提示符(CMD)并定位到该文件夹的位置。...
"Java代码执行shell命令的实现" Java代码执行shell命令的实现是指在Java程序中调用操作系统的shell命令,实现与操作系统交互的功能。下面将详细介绍Java代码执行shell命令的实现方法。 环境准备 在执行shell命令...
Java Socket远程调用Shell是一种通过Java程序利用Socket通信协议实现对远程服务器的Shell命令执行的技术。这种方式常用于系统管理、自动化运维或者分布式系统的组件交互。下面将详细介绍这一技术的实现原理、步骤...
Weblogic任意命令执行的检测工具。 WebLogic_CVE-2017-3248文件夹的执行命令: java -jar weblogic_cmd.jar -C whoami -H 10.1.1.104 -P...java -jar Weblogic-Unserialization-GetShll-CMD.jar 或者双击starter.bat.
这个工具类可能使用了Java的`Runtime`或者`ProcessBuilder`类来执行外部命令。 `Runtime.getRuntime().exec()`方法可以用来执行系统命令,但它的使用需要注意错误流和输出流的处理,否则可能会阻塞程序的执行。这...
`execCmd`方法接受一个Shell命令作为字符串参数,通过`Runtime.getRuntime().exec(cmd)`执行该命令。`LineNumberReader`用于读取Shell脚本执行的输出,将其逐行存储到字符串变量`ret`中。值得注意的是,`2>&1`表示...
请确保Java程序有权限执行外部命令,并且mysqldump在Java执行环境的PATH中。 ### 进阶技巧 1. **加密备份**: 可以使用`--password`选项代替 `-p`,避免密码显示在命令行历史记录中。 2. **增量备份**: 虽然...
jboss回显执行命令部分利用异常抛出机制,本地(4.2.3.GA)测试成功,其他版本请自测 5. 体积更小,不再依赖java环境,但程序采用.net编写,需要.net 4.0环境 待完成: weblogic回显结果测试中,稍后加入
java操作Linux-shell命令的jar文件,java语言执行 Linux-cmd命令 java操作Linux-shell命令的jar文件,java语言执行 Linux-cmd命令 java操作Linux-shell命令的jar文件,java语言执行 Linux-cmd命令 java操作Linux-shell...
因此,要在Android上运行shell脚本,我们通常需要通过Java代码来间接实现。 1. **使用Runtime类**:这是最基础的方法,通过`Runtime.getRuntime().exec()`方法执行shell命令。例如: ```java Process process = ...
Java调用DOS命令是指在Java程序中执行操作系统级别的命令,比如Windows下的CMD命令或Linux下的Shell命令。这种功能在很多场景下都很有用,比如自动化脚本、文件操作、系统管理等。Java提供了Runtime类和...