killOp
定義
killOp
操作 ID で指定された操作を終了します。
mongosh
はdb.killOp()
ヘルパーを提供します。 操作とそれに対応する ID を見つけるには、$currentOp
またはdb.currentOp()
を参照してください。killOp
コマンドはadmin
データベースに対して実行する必要があります。killOp を実行するには、
db.runCommand( { <command> } )
メソッドを使用します。
互換性
このコマンドは、次の環境でホストされている配置で使用できます。
MongoDB Atlas はクラウドでの MongoDB 配置のためのフルマネージド サービスです
重要
このコマンドは、M 0 、M 2 、M 5 、および M 10 + クラスターでサポートが限定されています。 詳細については、「サポートされていないコマンド 」を参照してください。
MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン
MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン
構文
コマンドの形式は次のとおりです。
db.adminCommand( { killOp: 1, op: <opid>, comment: <any> } )
コマンドフィールド
Parameter | タイプ | 説明 |
---|---|---|
| 数値 | 操作 ID。 |
| any | 任意。このコマンドに添付するユーザー指定のコメント。設定すると、このコメントは以下の場所にこのコマンドの記録と合わせて表示されます。
コメントには、有効な BSON 型(string, integer, object, array など)を使用できます。 |
警告
実行中の操作は、細心の注意を払って終了します。 クライアントによって開始された操作を終了するにはkillOp
のみを使用し、内部データベース操作は終了しません。
動作
レプリカセットまたはシャーディングされたクラスターで進行中のインデックスビルドを終了するためにkillOp
を使用し ない でください。インデックスを削除するには、 プライマリdropIndexes
で を使用します。「進行中のインデックスビルドの停止 」を参照してください。
アクセス制御
authorization
で実行されているシステムでは、ユーザー自身のものでない操作を強制終了するには、ユーザーに 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
は、指定された操作を終了対象としてマークするのに成功した場合、成功を報告します。 操作は適切な割り込みポイントに達するまで、実際には終了しない場合があります。 $currentOp
またはdb.currentOp()
を使用して、ターゲット操作が終了したことを確認します。