Java执行Linux命令并返回命令结果
Linux环境下C 2010-08-25 14:43:00 阅读183 评论0 字号:大中小 订阅
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() 方法重定向给它的父进程了。
用户需要用这些stream来向子进程输入数据或获取子进程的输出,下面的代码可以取到 linux 命令的执行结果:
try {
String[] cmd = new String[]{”/bin/sh”, “-c”, ” ls “};
Process ps = Runtime.getRuntime().exec(cmd);
BufferedReader br = new BufferedReader(new InputStreamReader(ps.getInputStream()));
StringBuffer sb = new StringBuffer();
String line;
while ((line = br.readLine()) != null) {
sb.append(line).append(”\n”);
}
String result = sb.toString();
System.out.println(result);
} catch (Exception e) {
e.printStackTrace();
}
分享到:
相关推荐
在Java编程中,有时我们需要实现一个功能,即通过代码远程登录Linux服务器并执行特定的Linux命令。这在自动化运维、远程脚本执行等场景中非常常见。本篇将详细讲解如何实现这一目标,并提供相关源码及jar包。 首先...
Java提供了一种强大的机制来执行操作系统级别的任务,其中包括调用Linux命令。实现这一功能的核心是`Runtime`类中的`exec()`方法。这个方法允许Java应用程序创建一个新的进程来执行指定的命令。以下是对这一知识点的...
java执行linux本地命令的类,并返回字符串。在CentOS 6.3上已经测试正常运行。
本文将深入讲解如何在Java程序中调用Linux命令,并通过实例来阐述这一过程。 一、Runtime类 `Runtime`类是每个Java应用程序都有的一个单例对象,它提供了执行外部进程的能力。通过`getRuntime()`方法可以获得`...
在Java开发中,有时我们需要远程连接到Linux服务器执行shell命令,比如进行系统管理、自动化运维或者数据处理等任务。...SSHXCUTE.jar简化了Java开发中的SSH操作,使得远程执行Linux命令变得更加便捷和安全。
标题中的“14-Java操作Linux命令分割合并文本文件1”指的是使用Java编程语言来执行Linux命令,以实现对文本文件的分割和合并操作。在处理大文件时,由于内存限制,不能一次性将整个文件读入,因此需要采用分块处理的...
在Java编程环境中,远程登录Linux系统并执行命令是一项常见的任务,尤其在自动化运维、系统管理以及分布式系统中。本文将详细讲解如何实现这一功能,并基于给出的“AutoStart”文件名,推测这是一个自动启动相关服务...
通过监听特定的队列,当有新消息到达时,程序将被动地接收并解析这些消息,这些消息可能是执行Linux命令的指示。 其次,"expect4j"是一个Java库,它允许程序模拟用户交互,尤其是用于自动化SSH登录。SSH(Secure ...
例如,我们可以将要运行的shell脚本路径作为命令传递,服务器会执行该脚本并返回输出。 3. **接收数据**: 执行命令后,我们需要监听`Session`的输入流以获取命令的输出。`ChannelInputStream`和`...
基于sshConnect的linux服务器的shell命令调用,并获取命令返回结果的实例。亲测有效!
Java调用Shell命令并获取执行结果的示例 在 Java 中调用 Shell 命令并获取执行结果是非常常见的操作,今天我们就来分享一个 Java 调用 Shell 命令并获取执行结果的示例。 Process 和 Runtime 类 在 Java 中,我们...
在Java应用程序中,我们可以使用Ganymed SSH-2库来连接Linux服务器,执行命令并获取结果。Ganymed SSH-2库提供了完整的SSH协议实现,包括连接、认证、会话管理、命令执行等功能。 _Java应用程序远程登录Linux的实现...
在Linux系统下,Java提供了通过`...总的来说,在Linux系统下用Java执行系统命令需要注意命令的正确构造,特别是在处理通配符和交互式命令时。同时,要确保理解特定Linux发行版的命令交互机制,以便正确地模拟这些交互。
Java提供了多种库和方法来实现这种连接,使得开发者能够在Java应用程序中执行Linux命令、管理文件、监控系统状态等。本节将详细介绍如何使用Java连接Linux,主要涉及以下几个核心知识点: 1. **Java SSH 客户端库**...
本文将详细介绍一些基础且实用的Linux命令,帮助你更好地理解和操作Linux系统。 1. **用户身份与登录**:在Linux中,`#`通常代表超级用户(root)权限,而`$`则表示普通用户。开机后,你需要输入`Login:`后面的...
JSch 是一个纯 Java 实现的 SSH2 客户端,可以用来连接到 SSH 服务器,进行文件传输、命令执行等操作。下面是一个简单的 SSH 连接示例: ```java import com.jcraft.jsch.*; public class SSHConnection { public...
本文将详细介绍如何使用JSCH库在Java中连接远程服务器并执行Linux命令。 首先,我们需要导入JSCH库。如果你使用的是Maven项目,可以在pom.xml文件中添加以下依赖: ```xml <groupId>com.jcraft</groupId> ...
在Java编程中,有时我们需要与操作系统...这样的示例对于理解和掌握Java执行系统命令的方法非常有帮助,也是实际开发中不可或缺的一项技能。通过实践这个例子,你将能够更好地理解和控制Java程序与操作系统之间的交互。
本文将详细介绍一些基本的Linux命令,帮助你更好地理解和操作Linux系统。 1. **Ctrl+Alt+T**:这是快速打开终端的快捷键,方便进行各种命令行操作。 2. **Ctrl+Alt+F2/F7**:这两个快捷键分别用于切换到/返回图形...
在Java编程中,有时我们需要与操作系统进行交互,执行一些外部程序并获取其运行结果。这通常通过使用Java的`Runtime`类或者`ProcessBuilder`类来实现。本文将详细讲解如何使用Java调用外部程序以及如何捕获并处理...