当前位置: 首页 > 面试题库 >

如何使用Java执行系统命令(linux / bsd)

龚凌
2023-03-14
问题内容

我试图便宜一些,并uname -a在Java中执行本地系统命令()。我想从中获取输出uname并将其存储在String中。最好的方法是什么?当前代码:

public class lame {

    public static void main(String args[]) {
        try {
            Process p = Runtime.getRuntime().exec("uname -a");
            p.waitFor();
            BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream()));
            String line=reader.readLine();

            while (line != null) {    
                System.out.println(line);
                line = reader.readLine();
            }

        }
        catch(IOException e1) {}
        catch(InterruptedException e2) {}

        System.out.println("finished.");
    }
}

问题答案:

你的方法与我可能要做的事情并不遥远:

Runtime r = Runtime.getRuntime();
Process p = r.exec("uname -a");
p.waitFor();
BufferedReader b = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line = "";

while ((line = b.readLine()) != null) {
  System.out.println(line);
}

b.close();

当然,请处理你关心的任何异常情况。



 类似资料:
  • 问题内容: 在下面的程序中,名称为“ don”,因此该命令将搜索活动目录,其所有名称均以don开头(例如donald等)。但是从读者对象分配后,line2变量变为空,并且永远不会进入循环。我究竟做错了什么?仅供参考:当我在命令行上输入命令时,该命令有效。 问题答案: 如果我没记错的话,管道(或重定向)需要使用cmd.exe启动程序。就像是:

  • 问题内容: 我有一堆系统命令,它们与将新内容附加到文件非常相似。我编写了一个简单的脚本来执行系统命令,如果存在诸如“ ls”,“ date”等单个单词,该脚本就可以很好地工作。但是如果命令大于此范围,则程序将死亡。 以下是代码 以下是我看到的错误 我想,这可能是由于未单独发送cmds和参数(http://golang.org/pkg/os/exec/#Command)导致的。我想知道如何颠覆这个问

  • 本文向大家介绍Python执行Linux系统命令的4种方法,包括了Python执行Linux系统命令的4种方法的使用技巧和注意事项,需要的朋友参考一下 (1) os.system 仅仅在一个子终端运行系统命令,而不能获取命令执行后的返回信息 如果再命令行下执行,结果直接打印出来 (2) os.popen 该方法不但执行命令还返回执行后的信息对象 例如: 好处在于:将返回的结果赋于一变量,便于程序的

  • 问题内容: 我需要在 node.js 函数中 它将 同步 执行给定的命令行并返回该命令文本的所有标准输出。 ps。同步是错误的。我知道。仅供个人使用。 更新 现在我们有了mgutz的解决方案,该解决方案为我们提供了退出代码,但没有stdout!仍在等待更准确的答案。 问题答案: Node.js(从0.12版本开始-已有一段时间)支持: 您现在可以直接执行以下操作: 它会做您期望的。(默认将I /O

  • 问题内容: 我正在尝试制作一个小的Java程序来执行系统命令,但似乎无法弄清楚 问题是如何使用Java执行系统命令? 更新:我阅读了文档并尝试了一些示例,但仍然无法弄清。为什么不能像C中那样简单 问题答案: 您可能需要查看的文档。这里给出一个例子。

  • 本文向大家介绍Linux系统使用Fuser命令的方法,包括了Linux系统使用Fuser命令的方法的使用技巧和注意事项,需要的朋友参考一下 什么是Fuser命令? fuser命令是一个非常聪明的unix实用程序,用于查找正在使用某个文件、目录或socket的进程。 它还提供有关拥有该进程的用户和访问类型的信息。。fuser工具显示了使用指定文件或文件系统的每个进程的进程ID(PID)。 安装 如果