forceSession - 终止指定会话的当前操作
db.forceSession(<sessionID>, [options])
Sdb
该函数用于终止指定会话的当前操作。如果不指定节点信息,默认为对自身的会话进行操作。
参数名 | 类型 | 描述 | 是否必填 |
---|---|---|---|
sessionID | number | 会话编号 | 是 |
options | object | 命令位置参数 | 否 |
Note:
- 只有用户会话可以被终止。
- 会话编号可以通过 list() 或 snapshot() 获取。
- options 参数只在协调节点生效。
- 如果终止的会话是当前会话,连接会被断开,不能再执行操作。
函数执行成功时,无返回值。
函数执行失败时,将抛异常并输出错误信息。
forceSession()
函数常见异常如下:
错误码 | 错误类型 | 描述 | 解决方法 |
---|---|---|---|
-62 | SDB_PMD_SESSION_NOT_EXIST | 指定会话不存在 | 检查指定会话是否存在 |
-63 | SDB_PMD_FORCE_SYSTEM_EDU | 系统会话不能被终止 | - |
当异常抛出时,可以通过 getLastErrMsg() 获取错误信息或通过 getLastError() 获取错误码。更多错误处理可以参考常见错误处理指南。
v2.0 及以上版本
终止当前节点中,编号为 30 的会话
// 连接节点 > db = new Sdb("localhost", 11810) // 终止指定会话 > db.forceSession(30)
终止 NodeID 为 1000 的节点中,编号为 30 的会话
// 连接节点 > db = new Sdb("localhost", 11810) // 终止指定会话 > db.forceSession(30, {NodeID: 1000})