首页 > Java > java教程 > 如何通过 Java 的 Runtime.exec() 可靠地使用管道?

如何通过 Java 的 Runtime.exec() 可靠地使用管道?

DDD
发布: 2024-12-15 22:25:15
原创
630 人浏览过

How Can I Reliably Use Piping with Java's Runtime.exec()?

使用 Runtime.exec() 进行管道

在 Java 中,使用 Runtime.exec() 进行管道操作可能会具有挑战性,因为由于交叉管道行为的平台不一致。不过,有多种方法可以解决这个问题。

脚本执行

一种方法是创建一个封装所需管道操作的脚本并执行该脚本,而不是执行脚本。单独的命令。例如:

#!/bin/sh
ls /etc | grep release
登录后复制

然后,使用 exec 执行脚本:

String[] cmd = {"/bin/sh", "path/to/script.sh"};
Process p = Runtime.getRuntime().exec(cmd);
登录后复制

Shell-Based Pipe

另一个选项是利用直接使用 shell 的管道功能,如下所示:

String[] cmd = {
    "/bin/sh",
    "-c",
    "ls /etc | grep release"
};
Process p = Runtime.getRuntime().exec(cmd);
登录后复制

通过使用“-c”选项,shell在子shell中执行指定的命令字符串,从而可以使用管道和其他shell功能。

以上是如何通过 Java 的 Runtime.exec() 可靠地使用管道?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板