私がMosquitto(MQTT)ブローカーを初めて実行したとき、問題はありませんでした。しかし、彼が2回目にデフォルトの構成を使用して実行したときから、次のエラーのためにコードを正常に実行できませんでした。
1379497253:mosquittoバージョン1.2(ビルド日付2013-09-17 17:59:39 + 0530)以降1379497253:デフォルトの設定を使用。 1379497253:ポート1883でipv6リスンソケットを開いています。1379497253:エラー:アドレスはすでに使用されています
コマンドラインからブローカーを停止する方法を教えてください。誰かが助けてくれればいいですね。
どのOSを使用しているかはわかりませんが、Linuxでバックグラウンドで蚊を実行していると仮定すると、killコマンドを使用するだけです。
Psを使用して、現在実行中のmosquittoインスタンスのpidを見つけ、そのpidをkillします。
蚊はサービスになり始めます。
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
PIDがわからない場合は、Linuxで「kill」の代わりに「pkill」を使用できます。コマンド:「pkill mosquitto」
Bashでmosquit.shのような独自のバッチスクリプトファイルを使用できます。これは、CentOSで停止するためのスクリプトです。
#!/bin/sh
Sudo kill $(ps aux |awk '/mosquitto/ {print $2}')
これがLinuxサービスであるとすると、killコマンドはその特定のソケットの使用を停止するだけで、PIDをkillすると別のソケットを開きます。 Redhatの場合、サービスを終了するにはsystemctl stop mosquittoを実行します