我是java的新手并且正在尝试使用RandomAccessFile读取和写入命名管道(在另一个本机C ++进程中创建)。这是我的代码: -
String input_pipe = "/home/user/some_pipe";
try {
System.out.println("here1");
RandomAccessFile inp_pipe = new RandomAccessFile(input_pipe, "r");
System.out.println("here2");
} catch (Exception exp) {
System.out.println("Some error opening pipe :- " + exp.getMessage());
}
当我运行此代码时,输出的所有内容都是: -
here1
这个过程并没有回归。关于我做错了什么或我如何调试它的任何提示?
答案 0 :(得分:0)
由于没有一个评论者选择写答案,我会自己写一个。
问题是在linux上打开命名管道会阻塞,直到管道的另一端也被打开。您可以在非阻塞模式下打开它,也可以立即打开管道的两端。