Kdb 识别和删除进程中的坏句柄的最佳方法是什么?

Kdb 识别和删除进程中的坏句柄的最佳方法是什么?,kdb,k,Kdb,K,这个问题没有太多补充。我想在我的流程中添加一个功能,识别并删除坏句柄 更新:我知道这个坏把柄听起来像一个模糊的词。基本上,任何会阻止我通过IPC与流程进行通信的事情 我还不确定你说的把手不好是什么意思。如果你能举一个例子来说明你的意思,那会很有帮助 在任何时候,您都可以根据键[.z.W]检查句柄或句柄列表,该键返回被q视为有效的句柄列表 您可以实现异步ping测试,该测试将测试进程当前是否繁忙 q)\q -p 5567 q)\q -p 5568 q)h:hopen each 5566+til 3

这个问题没有太多补充。我想在我的流程中添加一个功能,识别并删除坏句柄


更新:我知道这个坏把柄听起来像一个模糊的词。基本上,任何会阻止我通过IPC与流程进行通信的事情

我还不确定你说的把手不好是什么意思。如果你能举一个例子来说明你的意思,那会很有帮助

在任何时候,您都可以根据键[.z.W]检查句柄或句柄列表,该键返回被q视为有效的句柄列表

您可以实现异步ping测试,该测试将测试进程当前是否繁忙

q)\q -p 5567
q)\q -p 5568
q)h:hopen each 5566+til 3
q)h
3 4 5i
q){valid::x!count[x]#0b;neg[x]@\:({neg[.z.w]"valid[.z.w]:1b"};`);} h
q)valid
3| 1
4| 1
5| 1
q)neg[h 1]("system";"sleep 10")
q){valid::x!count[x]#0b;neg[x]@\:({neg[.z.w]"valid[.z.w]:1b"};`);} h
q)valid
3| 1
4| 0
5| 1
此外,任何远程丢弃的句柄都会触发.z.pc函数,您可以将自己的逻辑添加到此函数中。

通过.z.pc捕获关闭的句柄比上述ping测试更好,因为连接的进程不一定是kdb进程