0

我编写了一个可以远程执行系统命令的小型客户端/服务器应用程序。当您只需要阅读它们的输出时,它适用于非交互式程序。但是,如果需要,是否有可靠的方法将用户输入发送到已启动的进程?我什至如何找出进程是否提示输入任何内容?

4

1 回答 1

1

看看'expectj'。这是http://en.wikipedia.org/wiki/Expect的一个端口

http://expectj.sourceforge.net/

例子:

// Create a new ExpectJ object with a timeout of 5s
ExpectJ expectinator = new ExpectJ(5);

// Fork the process
Spawn shell = expectinator.spawn("/bin/sh");

// Talk to it
shell.send("echo Chunder\n");
shell.expect("Chunder");
shell.send("exit\n");
shell.expectClose();
于 2011-12-15T08:36:27.293 回答