首頁 > Java > java教程 > 如何透過 Java 的 Runtime.exec() 可靠地使用管道?

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

DDD
發布: 2024-12-15 22:25:15
原創
693 人瀏覽過

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
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板