Definição
killOpTermina uma operação conforme especificado pelo ID da operação. fornece
mongosho assistente . Para encontrar operações e seus ID correspondentes,db.killOp()consulte$currentOpdb.currentOp()ou.O comando
killOpdeve ser executado no reconhecimento de data centeradmin.Para executar o killOp, use o método
db.runCommand( { <command> } ).
Compatibilidade
Esse comando está disponível em implantações hospedadas nos seguintes ambientes:
- MongoDB Atlas: o serviço totalmente gerenciado para implantações do MongoDB na nuvem
Importante
Este comando tem suporte limitado em todos os clusters do MongoDB Atlas . Para obter mais informações, consulte Comandos não suportados.
MongoDB Enterprise: a versão autogerenciada e baseada em assinatura do MongoDB
MongoDB Community: uma versão com código disponível, de uso gratuito e autogerenciada do MongoDB
Sintaxe
O comando tem o seguinte formato:
db.adminCommand( { killOp: 1, op: <opid>, comment: <any> } )
Campos de comando
Parâmetro | Tipo | Descrição |
|---|---|---|
| número | Um ID de operação. |
| any | Opcional. Um comentário fornecido pelo usuário para anexar a este comando. Depois de definido, esse comentário aparece junto com os registros desse comando nos seguintes locais:
Um comentário pode ser qualquer tipo BSON válido (string, inteiro, objeto, array etc). |
Aviso
Encerre as operações em execução com extrema cautela. Use apenas para encerrar operações killOp iniciadas por clientes e não encerre operações internas de banco de dados .
Comportamento
Não usekillOppara encerrar compilações de índice em andamento em conjuntos de réplicas ou clusters fragmentados. UsedropIndexesno primário para descartar o índice. Consulte Interromper as Compilações de Índices em Andamento.
Controle de acesso
Em sistemas executados com authorization , para eliminar operações que não pertencem ao usuário, o usuário deve ter acesso que inclua a ação de privilégio killop .
Em instâncias do mongod , os usuários podem matar suas próprias operações mesmo sem a ação de privilégio do killop .
Cluster fragmentado
O comandokillOppode ser executado em ummongose pode eliminar queries (ou seja, operações de leitura) que abrangem fragmentos em um cluster. O comandokillOpdomongosnão se propaga para os shards quando a operação a ser eliminada é uma operação de gravação.
Para obter informações sobre como listar as operações de fragmentação que estão ativas em um mongos, consulte o parâmetro localOps em $currentOp.
Para obter mais informações e exemplos sobre como eliminar operações em um cluster fragmentado, consulte:
Exemplo
O exemplo a seguir usa para direcionar a operação em execução killOp com 3478 opid.
db.adminCommand( { "killOp": 1, "op": 3478 } )
A operação retorna o seguinte resultado:
{ "info" : "attempting to kill op", "ok" : 1 }
killOp relata o sucesso se conseguiu marcar a operação especificada para encerramento. As operações não podem ser encerradas até que atinjam um ponto de interrupção apropriado . Use $currentOp ou db.currentOp() para confirmar que a operação de destino foi encerrada.