Docs 菜单
Docs 主页
/
MongoDB Manual
/ / /

killOp

在此页面上

  • 定义
  • 兼容性
  • 语法
  • 命令字段
  • 行为
  • 例子
killOp

终止由操作ID指定的操作。 mongosh提供 db.killOp()助手。 要查找操作及其相应的 ID,请参阅$currentOpdb.currentOp()

killOp命令必须针对admin数据库运行。

要运行 killOp,请使用db.runCommand( { <command> } )方法。

此命令可用于以下环境中托管的部署:

  • MongoDB Atlas:用于云中 MongoDB 部署的完全托管服务

重要

此命令在 M 0 、 M 2 、 M 5和 M 10 + 集群中提供有限支持。 有关更多信息,请参阅不支持的命令。

该命令采用以下形式:

db.adminCommand(
{
killOp: 1,
op: <opid>,
comment: <any>
}
)
Parameter
类型
说明

op

数字

操作 ID。

comment

any

可选。用户提供的待附加到该命令的注释。设置后,该注释将与该命令的记录一起出现在以下位置:

注释可以是任何有效的 BSON 类型(字符串、整型、对象、数组等)。

警告

终止正在运行的操作时要格外小心。仅使用 killOp 来终止客户端发起的操作,而不会终止数据库内部操作。

请勿使用killOp终止副本集或分片集群中正在进行的索引构建。 在dropIndexes 节点上使用 删除索引。请参阅停止正在进行的索引构建。

在使用authorization运行的系统上,要终止不属于用户的操作,用户必须具有包括killop特权操作的访问权限。

mongod实例上,即使没有killop特权操作,用户也可以终止自己的操作。

killOp命令可以在mongos上运行,并且可以终止查询(即 读集群)。 killOp当要终止的操作是写入操作时,mongos 中的 命令不会传播到分片。

有关如何列出 mongos 上活动的分片操作的信息,请参阅 $currentOp 中的 localOps 参数。

有关针对分片集群的终止操作的更多信息和示例,请参阅:

以下示例使用killOp来定位 opid 为3478的正在运行的操作。

db.adminCommand( { "killOp": 1, "op": 3478 } )

操作返回以下结果:

{ "info" : "attempting to kill op", "ok" : 1 }

killOp如果成功将指定操作标记为终止,则报告成功。 操作在到达适当的中点之前可能不会实际终止。 使用$currentOpdb.currentOp()确认目标操作已终止。

后退

killCursors