“文档” 菜单
文档首页
/
MongoDB Manual
/ / /

killOp

在此页面上

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

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

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

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

该命令采用以下形式:

db.adminCommand(
{
killOp: 1,
op: <opid>,
comment: <any>
}
)
参数
类型
说明
op
数字
操作 ID。
comment
任何

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

注释可以是任何有效的 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