Definición
killOpFinaliza una operación según lo especificado por el ID de operación.
mongoshproporciona la función auxiliardb.killOp(). Para encontrar operaciones y sus ID correspondientes, consulte$currentOpodb.currentOp().El comando
killOpdebe ejecutarse en la base de datosadmin.Para ejecutar killOp, utiliza el método
db.runCommand( { <command> } ).
Compatibilidad
Este comando está disponible en implementaciones alojadas en los siguientes entornos:
- MongoDB Atlas: El servicio totalmente administrado para implementaciones de MongoDB en la nube.
Importante
Este comando tiene soporte limitado en todos los clústeres de MongoDB Atlas. Para obtener más información, consulta Comandos no admitidos.
MongoDB Enterprise: La versión basada en suscripción y autogestionada de MongoDB
MongoDB Community: La versión de MongoDB con código fuente disponible, de uso gratuito y autogestionada.
Sintaxis
El comando tiene la siguiente forma:
db.adminCommand( { killOp: 1, op: <opid>, comment: <any> } )
Campos de comandos
Parameter | Tipo | Descripción |
|---|---|---|
| Número | Una ID de operación. |
| any | Opcional. Un comentario proporcionado por el usuario para adjuntar a este comando. Una vez configurado, este comentario aparece junto a los registros de este comando en las siguientes ubicaciones:
Un comentario puede ser de cualquier tipo BSON válido (string, objeto, arreglo, etc.). |
Advertencia
Finalice las operaciones en ejecución con extrema precaución. Utilice killOp únicamente para finalizar las operaciones iniciadas por los clientes y no finalice las operaciones internas de la base de datos.
Comportamiento
No utilice killOp para finalizar la creación de índices en curso en conjuntos de réplicas o clústeres fragmentados. Utilice dropIndexes en el nodo principal para eliminar el índice. Consulte la sección "Detener la creación de índices en curso".
Control de acceso
En los sistemas que se ejecutan con authorization, para terminar operaciones que no pertenecen al usuario, este debe tener acceso que incluya la acción de privilegio killop.
En las instancias mongod, los usuarios pueden finalizar sus propias operaciones incluso sin la acción de privilegio killop.
Clúster fragmentado
El comando killOp se puede ejecutar en un mongos y puede cancelar consultas (es decir, operaciones de lectura) que abarcan fragmentos en un clúster. El comando killOp del mongos no se propaga a los fragmentos cuando la operación que se va a cancelar es una operación de escritura.
Para obtener información sobre cómo enumerar las operaciones de particionamiento que están activas en una mongos, consulte el parámetro localOps en $currentOp.
Para obtener más información y ejemplos sobre las operaciones de finalización en un clúster sharded, consulta:
Ejemplo
El siguiente ejemplo utiliza killOp para dirigirse a la operación en ejecución con opid 3478.
db.adminCommand( { "killOp": 1, "op": 3478 } )
La operación devuelve el siguiente resultado:
{ "info" : "attempting to kill op", "ok" : 1 }
killOp informa de éxito si logró marcar la operación especificada para su terminación. Es posible que las operaciones no se terminen realmente hasta que alcancen un punto de interrupción adecuado. Utilice $currentOp o db.currentOp() para confirmar que la operación de destino se ha terminado.