我希望我做错了什么,但似乎 kdb 无法从命名管道读取数据(至少在 Solaris 上)。它会阻塞直到它们被写入,但随后不返回任何写入的数据。
我可以创建一个文本文件:
$ echo Mary had a little lamb > lamb.txt
kdb 会很高兴地阅读它:
q) read0 `:/tmp/lamb.txt
enlist "Mary had a little lamb"
我可以创建一个命名管道:
$ mkfifo lamb.pipe
并尝试从中读取:
q) read0 `:/tmp/lamb.pipe
将导致 kdb 阻塞。写入管道:
$ cat lamb.txt > lamb.pipe
将导致 kdb 返回空列表:
()
kdb 可以从命名管道中读取吗?我应该放弃吗?我不认为这是一个权限问题(我尝试-m 777
在我的mkfifo
命令上进行设置,但这没有任何区别)。