On this page本页内容
db.
killOp
(opid)¶Terminates an operation as specified by the operation ID. To find operations and their corresponding IDs, see $currentOp
or db.currentOp()
.
The db.killOp()
method has the following parameter:
op |
number | An operation ID. |
Warning
Terminate running operations with extreme caution. Only use db.killOp()
to terminate operations initiated by clients and do not terminate internal database operations.
The db.killOp()
method can be run on a mongos
and can kill queries (read operations) that are running on more than one shard in a cluster.
For example, to kill a query operation on a MongoDB 4.0+ sharded cluster:
mongos
where the client issued the query, find the opid of the query operation to kill by running the aggregation pipeline $currentOp
with the localOps:
true
:
Important
You must issue this aggregation operation on the same
mongos
where the client issued the query.
db.killOp()
with the opid on the mongos
:
See also参阅
The localOps
parameter in $currentOp
.
Alternatively, you can find and kill the read operation from a shard member where the operation is running. MongoDB 4.0+
propagates the kill operation to the other shards and mongos
instances:
db.killOp()
with the opid on the shard member:
MongoDB 4.0+ propagates the kill operation to the other shards and mongos
instances.
To kill a query running on 3.6 (or earlier) sharded clusters, you must kill the operation on all the shards associated with the query.
mongos
, run the aggregation pipeline $currentOp
to find the opid(s) of the query operation on the shards:
When run on a mongos
, $currentOp
returns the opids in the format of "<shardName>:<opid on that shard>"
; e.g.
db.killOp()
on the mongos
to kill the operation on the shards.
Starting in MongoDB 3.6, MongoDB drivers associate all operations with a server session, with the exception of unacknowledged writes.
If the write operation is associated with a session, you can use the killSessions
command on the mongos
to kill the write operation across shards.
$currentOp
on the mongos
to find the lsid
(logical session id).
lsid
information, issue the killSessions
command on the mongos
to kill the operation on the shards.
$currentOp
on the mongos
or the individual shards find the lsid
(logical session id).
killSessions
command on the mongos
to kill the operation on the shards.
If the write operation is not associated with a session, you must find and kill the operation on all the shards associated with the write.
mongos
, run the aggregation pipeline $currentOp
to find the opid(s) of the query operation on the shards:
When run on a mongos
, $currentOp
returns the opids in the format of "<shardName>:<opid on that shard>"
; e.g.
db.killOp()
on the mongos
to kill the operation on the shards.
On systems running with authorization
, to kill operations not owned by the user, the user must have access that includes the killop
privilege action.
Changed in version 3.2.9:On mongod
instances, users can kill their own operations even without the killop
privilege action.
See also参阅