加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

如何从java程序在终端上运行命令?

发布时间:2020-12-15 07:38:39 所属栏目:Java 来源:网络整理
导读:我需要从JAVA程序在Fedora 16的终端上运行命令.我试过用 Runtime.getRuntime().exec("xterm"); 但这只是打开终端,我无法执行任何命令. 我也试过这个: OutputStream out = null;Process proc = new ProcessBuilder("xterm").start();out = proc.getOutputStr
我需要从JAVA程序在Fedora 16的终端上运行命令.我试过用

Runtime.getRuntime().exec("xterm");

但这只是打开终端,我无法执行任何命令.

我也试过这个:

OutputStream out = null;
Process proc = new ProcessBuilder("xterm").start();
out = proc.getOutputStream();  
out.write("any command".getBytes());  
out.flush();

但我仍然只能打开终端,但无法运行命令.
关于如何做的任何想法?

解决方法

你需要使用像这样的bash可执行文件来运行它:

Runtime.getRuntime().exec("/bin/bash -c your_command");

更新:
正如xav所建议的那样,建议使用ProcessBuilder代替:

String[] args = new String[] {"/bin/bash","-c","your_command","with","args"};
Process proc = new ProcessBuilder(args).start();

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读