web-dev-qa-db-fra.com

Empêcher le courtier mosquitto (MQTT) d'écouter un port à l'aide de la ligne de commande

Lorsque j'ai exécuté le courtier Mosquitto (MQTT) pour la première fois, il n'y avait aucun problème. Mais cependant, à partir de la deuxième fois où je l'ai exécuté à l'aide de la configuration par défaut, je n'ai pas pu exécuter le code avec succès à cause de l'erreur suivante:

1379497253: version 1.2 de la mosquitto (date de construction 2013-09-17 17: 59: 39 + 0530) à partir de 1379497253: Utilisation de la configuration par défaut 1379497253: Ouverture du socket d'écoute ipv6 sur le port 1883. 1379497253: Erreur: adresse déjà utilisée

J'aimerais savoir comment arrêter le courtier en ligne de commande. Ce sera bien si quelqu'un peut aider.

8
user2430996

Vous ne dites pas quel système d'exploitation vous utilisez, mais en supposant qu'il s'agisse de Linux et que vous avez mosquitto exécuté en arrière-plan, vous utilisez simplement la commande kill.

Utilisez ps pour trouver le pid de l'instance mosquitto en cours d'exécution, puis supprimez-le.

3
hardillb

mosquitto commence à être un service.

Sudo vi /etc/mosquitto/mosquitto.conf #more detail in `man mosquitto.conf`

Sudo vi /etc/mosquitto/conf.d/custom.conf #add or change listening port as your need

Sudo service mosquitto restart
14
ileadu

Si vous ne connaissez pas le PID, vous pouvez utiliser "pkill" au lieu de "kill" sous Linux. Commande: "pkill mosquitto"

6
KingAlex1985

Vous pouvez utiliser votre propre fichier de script batch, tel que mosquit.sh, dans bash. Ceci est mon script pour l'arrêter sur CentOS.

#!/bin/sh
Sudo kill $(ps aux |awk '/mosquitto/ {print $2}')
1
tommybee

En supposant qu'il s'agisse du service linux, une commande kill arrêtera uniquement d'utiliser ce socket et s'ouvrira sur un autre socket lors de la suppression du PID. Le redhat, tuer le service serait systemctl stop mosquitto

0
Jared Gongloff