我们有一个自动收报机工厂,有时候有人错误地在没有日期的情况下在HDB中运行查询,或者在没有时间的情况下错误地运行RDB,或者使用其他一些可能会杀死KDB的处理逻辑。如何在不重启KDB实例的情况下查找并终止查询?
答案 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>
- 这会杀死当前的线程。在多线程模式下,您可能会得到混合的结果。