【发布时间】:2012-05-20 17:23:31
【问题描述】:
【问题讨论】:
-
伙计们,它不是重复的。这是另一个问题。他问的不是重定向,而是如何实现父进程和子进程之间的进程间通信。
【问题讨论】:
我认为您甚至在您的问题中解释了答案。
当您使用Runtime.exec() 或ProcessBuilder 从java 运行外部应用程序时,您可以访问标准输出和标准输入流。用户输入流读取外部应用程序写入的内容,输出流将命令发送到外部应用程序。
但要小心。某些应用程序不会从 java 中获取您的命令。例如,Unix 系统中的命令ssh 旨在避免非人类用户(例如其他应用程序)使用它。出于安全原因,它需要从终端执行,因此您不能例如运行 ssh otherhost 然后从 java 发送用户/密码。如果您需要这个,您必须通过名为expect 的其他命令行实用程序运行该命令,该实用程序模拟终端并由脚本驱动。
【讨论】: