如何使用Java发送密码进行处理

时间:2011-05-24 14:27:18

标签: java io iostream inputstream

我正在从java启动一个进程来为我运行一个命令。此过程运行一段时间,然后需要密码才能继续。现在我知道我可以写入进程的流程,但我不太确定如何检测何时需要写入它。

可能的解决方案:
有没有办法让我发现这个过程是阻塞的? 我可以在执行命令后立即写入标准,当进程在需要时点击它时,它可以从中读取吗?

还有其他想法吗?

2 个答案:

答案 0 :(得分:1)

没有必要检测子进程是否阻塞。如果子进程被设计为阻塞,直到通过stdin向它提供输入,它将阻塞,直到提供这样的输入。

有必要记住,标准输入,输出和错误缓冲区大小是有限的,因此子进程必须处理输入缓冲区的内容,并且父进程需要处理尽快输出和错误缓冲区的内容。不这样做会导致子进程挂起。

答案 1 :(得分:0)

也许你应该解决runas问题,但不要使用runas。谷歌找到了我:http://www.source-code.biz/snippets/c/1.htm允许你在运行时传递你的密码....