文档菜单
文档首页
/
MongoDB 手册
/ / /

killOp

本页内容

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

根据操作ID终止操作。mongosh提供了db.killOp()辅助函数。要查找操作及其相应的ID,请参阅$currentOpdb.currentOp()

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

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

此命令可在以下环境中部署的实例中使用:

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

重要

此命令在M0、M2、M5和M10+集群中支持有限。有关更多信息,请参阅不支持命令。

命令具有以下形式:

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

可选。附加到此命令的用户提供的注释。一旦设置,此注释将出现在以下位置的此命令记录旁边

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

警告

请谨慎终止正在运行的操作。仅使用 killOp 终止由客户端发起的操作,不要 终止内部数据库操作。

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

在运行 authorization 的系统上,要终止用户未拥有的操作,用户必须具有包括 killop 权限动作的访问权限。

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

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

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

有关在分片集群上终止操作的更多信息示例,请参阅

以下示例使用 killOp 来终止 opid 为 3478 的运行操作。

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

操作返回以下结果

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

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

返回

killCursors