3

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

4

2 回答 2

5

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

参数:'-T'

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

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

例如: 开始你的 q 进程:

       q -T 40

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

于 2015-01-19T15:21:08.303 回答
1

正如@Rahul 所说,您可以使用 T 超时。

如果你在一个 unix 系统上,你也可以kill -SIGINT <pid>- 这会杀死当前线程。不过,在多线程模式下,您可能会得到不同的结果。

于 2015-01-19T21:03:00.043 回答