我正在尝试开发一个GUI应用程序,用于在 Amazon Elastic Compute 2 中创建和删除弹性 Starcluster 群集。到目前为止,我已经设法从图形应用程序创建和使用这些集群,但是当我尝试删除集群时遇到了问题。以下是我用于将命令插入控制台的方法(来自我的应用程序):
Runtime rt = Runtime.getRuntimne();
Process proc = rt.exec("command",null,dir);
问题是系统要求我提供是/否确认,我无法通过使用我的应用程序中使用的方法。到目前为止,我尝试了以下内容:
Runtime rt = Runtime.getRuntimne();
Process proc = rt.exec("y",null,dir); //y for yes
但是系统一直在等待答案,忽略了应用程序中引入的命令。以下是请求确认的实际应用程序的日志:
ubuntu@ip-xxx-xxx-xxx-xxx:~$ starcluster terminate myCluster
StarCluster - (http://star.mit.edu/cluster) (v. 0.95.5)
Software Tools for Academics and Researchers (STAR)
Please submit bug reports to starcluster@mit.edu
Terminate EBS cluster myCluster(y/n)?
我很感激有关此事的任何想法或想法。如果您认为有必要给出合适的答案,请随时询问更多信息。
答案 0 :(得分:1)
你需要写下你的" y"进程stdin流。
检查Berry Tsakala对该问题的回答:java: how to both read and write to & from process thru pipe (stdin/stdout)