1

我的q.bat文件运行良好,其内容是:

g:
cd \q
w32\q.exe %* -p 5000

init.q文件中定义了一些基本的 q 函数后,我希望每次启动 kdb+/q 时都加载它们并使其可用。我尝试在q.bat文件末尾包含以下行,但它什么也没做:

q init.q

我读过其他方式,比如设置QINIT环境变量或编辑q.q文件,但我怀疑通过加载.bat更干净。

4

1 回答 1

2

设置QINIT或添加q.q文件是将代码加载到每个 q 进程的正确方法。

但是,如果您想将代码加载到选定数量的 q 个进程中,可以通过以下方法完成:

替换w32\q.exe %* -p 5000w32\q.exe init.q %*(我省略了端口,因为您可能不希望所有 procs 都在同一个端口上监听)

您可以在其中init.q执行进程所需的初始化代码,这可能涉及

  • 加载其他 q 脚本(例如log.qutil.q从某个众所周知的目录)
  • 处理命令行 args ( .z.x),以初始化特定的进程类型。例如,给定 cmd line q.bat rdb,您可以 lodardb.q和调用.rdb.init函数
于 2015-04-04T15:33:55.263 回答