Tag: oo

读取已关闭的命名管道块

我试图从Fortran读取命名管道(FIFO)。 读取数据有效,但Fortran程序似乎没有注意到管道在另一端关闭; 读取只是阻止而不是获得EOF。 示例程序: program kitten character(256) :: buf open(22, file=’test’) do read(22, *) buf print*, trim(buf) end do end program kitten 现在用 $ mkfifo test $ echo -e ‘1\n2\n3’ >test & $ ./kitten 程序按预期打印1\n2\n3\n ,但随后挂起。 相反,程序返回EOF错误if test是一个常规文件; 要么 你改变kitten从STDIN读取并做./kitten <test或 echo -e ‘1\n2\n3’ | ./kitten echo -e ‘1\n2\n3’ | ./kitten ; 要么 你在C写一个相当的kitten程序 我使用ifort […]