为什么我不能将“密钥”发送到从java启动的oclHashcat进程

时间:2014-02-11 16:11:34

标签: java process processbuilder

我有一个简单的Java程序,它启动一个oclHashcat(实际上是cudaHashcat)进程并尝试与已启动的进程通信。 从过程中读取输出工作正常,但我似乎无法写入过程。

演示代码,显示我正在尝试做的事情:(按程序中的s应显示当前操作的状态,但没有任何反应

public class CudaHashcat {
public static void main(String[] args) throws IOException {
    ProcessBuilder builder = new ProcessBuilder("cudaHashcat64.exe", "-m", "0", "-b");
    builder.redirectErrorStream(true);
    builder.redirectInput(Redirect.PIPE);
    builder.redirectOutput(Redirect.INHERIT);
    final Process process = builder.start();
    new Thread() {
        @Override
        public void run() {
            try {
                Thread.sleep(2000);
                System.out.println("Writing to hashcat process"); // this shows up just fine
                process.getOutputStream().write('s');
                process.getOutputStream().flush();
            } catch (InterruptedException | IOException e) {
                e.printStackTrace();
            }
        };
    }.start();
}
}

感谢您的帮助!

0 个答案:

没有答案