VerneMQ como desconectar clientes forçadamente por linha de comando
Há um comando
vmq-admin sessão show
que lhe mostrará os clientes actualmente ligados:
Infelizmente, esta saída é truncado para uma largura total de 80 caracteres (não importa quantos caberiam) e há atualmente nenhuma indicação que é.
Veja esta edição da VerneMQ Github: https://github.com/vernemq/vernemq/issues/1200
Para desconectar clientes você precisa do client_id e do ponto de montagem. Portanto, você pode fazer:
vmq-admin sessão show -client_id -mountpoint
Isto irá mostrar-lhe versões não truncadas (idealmente, se não estiver a exagerar com o comprimento do ponto de montagem, toda a linha ainda tem de caber em 80 caracteres!)
E então você pode desconectar o cliente que quiser:
vmq-admin session disconnect client-id=js.1565274250169CEV7hJU -mountpoint=5c61a59ba6b76f558d256f42
Outro "gotcha" é que o vmq-admin da VerneMQ irá mostrar-lhe "Done" independentemente de os clientes reais terem sido desconectados ou não!
Como você pode ver, eu deixei de lado um caracter do id do cliente, não há cliente com esse id - mas o resultado é idêntico.
Portanto, você tem que checar novamente com o vmq-admin sessão show se a sua desconexão foi realmente bem sucedida.