启动时加载 init.q 文件

Load init.q file at startup

我的 q.bat 文件运行正常,它的内容是:

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

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

q init.q

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

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

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

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

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

  • 正在加载其他 q 脚本(例如 log.qutil.q 来自一些众所周知的目录)
  • 处理命令行参数 (.z.x),以初始化特定的进程类型。例如,给定 cmd 行 q.bat rdb,您可以 loda rdb.q 并调用 .rdb.init 函数