如何在RDB或HDB中杀死KDB查询?

时间:2015-01-19 15:14:21

标签: kdb q-lang

我们有一个自动收报机工厂,有时候有人错误地在没有日期的情况下在HDB中运行查询,或者在没有时间的情况下错误地运行RDB,或者使用其他一些可能会杀死KDB的处理逻辑。如何在不重启KDB实例的情况下查找并终止查询?

2 个答案:

答案 0 :(得分:4)

您可以在服务中设置客户端查询时间:

param:' -T'

参考:http://code.kx.com/q4m3/13_Commands_and_System_Variables/#13121-timeout-t

来自wiki:超时参数(注意大写)是一个int,它指定客户端在超时和终止之前执行的任何调用的毫秒数。默认值为0表示没有超时。此参数对应于命令\ T。

例如:启动您的q流程:

       q -T 40

它会将客户端查询超时设置为40毫秒。

答案 1 :(得分:1)

正如@Rahul所说,你可以使用T进行超时。

如果您使用的是unix系统,您还可以kill -SIGINT <pid> - 这会杀死当前的线程。在多线程模式下,您可能会得到混合的结果。