- Reference >
- Database Commands >
- Administration Commands >
- killOp
killOp¶
On this page
New in version 3.2.
Definition¶
-
killOp
¶ Terminates an operation as specified by the operation ID. The
mongo
shell provides thedb.killOp()
helper. To find operations and their corresponding IDs, see$currentOp
ordb.currentOp()
.The
killOp
command must be run against theadmin
database.To run killOp, use the
db.runCommand( { <command> } )
method.The command has the following form:
Parameter Type Description op
number An operation ID. comment
any Optional. A user-provided comment to attach to this command. Once set, this comment appears alongside records of this command in the following locations:
- mongod log messages, in the
attr.command.cursor.comment
field. - Database profiler output, in the
command.comment
field. currentOp
output, in thecommand.comment
field.
A comment can be any valid BSON type (string, integer, object, array, etc).
New in version 4.4.
Warning
Terminate running operations with extreme caution. Only use
killOp
to terminate operations initiated by clients and do not terminate internal database operations.- mongod log messages, in the
Behavior¶
Do not use killOp
to terminate an in-progress index
builds in replica sets or sharded clusters. Use dropIndexes
on the primary to drop the index. See
Abort In-Progress Index Builds.
Access Control¶
On systems running with authorization
, to kill
operations not owned by the user, the user must have access that
includes the killop
privilege action.
Sharded Cluster¶
Starting in MongoDB 4.0, the killOp
command can be run on
a mongos
and can kill queries (i.e. read operations)
that span shards in a cluster. The killOp
command from the
mongos
does not propagate to the shards when the
operation to be killed is a write operation.
For information on how to list sharding operations that are active on a
mongos
, see the localOps
parameter in
$currentOp
.
For more information and examples on killing operations on a sharded cluster, see:
Example¶
The following example uses killOp
to target
the running operation with opid 3478
.
The operation returns the following result:
killOp
reports success if it succeeded in marking the
specified operation for termination. Operations may not actually be
terminated until they reach an appropriate interruption point. Use
$currentOp
or db.currentOp()
to confirm the
target operation was terminated.