web-dev-qa-db-ja.com

コマンドラインを使用してmosquitto(MQTT)ブローカーがポートをリッスンしないようにする

私がMosquitto(MQTT)ブローカーを初めて実行したとき、問題はありませんでした。しかし、彼が2回目にデフォルトの構成を使用して実行したときから、次のエラーのためにコードを正常に実行できませんでした。

1379497253:mosquittoバージョン1.2(ビルド日付2013-09-17 17:59:39 + 0530)以降1379497253:デフォルトの設定を使用。 1379497253:ポート1883でipv6リスンソケットを開いています。1379497253:エラー:アドレスはすでに使用されています

コマンドラインからブローカーを停止する方法を教えてください。誰かが助けてくれればいいですね。

12
user2430996

どのOSを使用しているかはわかりませんが、Linuxでバックグラウンドで蚊を実行していると仮定すると、killコマンドを使用するだけです。

Psを使用して、現在実行中のmosquittoインスタンスのpidを見つけ、そのpidをkillします。

4
hardillb

蚊はサービスになり始めます。

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
15
ileadu

PIDがわからない場合は、Linuxで「kill」の代わりに「pkill」を使用できます。コマンド:「pkill mosquitto」

6
KingAlex1985

Bashでmosquit.shのような独自のバッチスクリプトファイルを使用できます。これは、CentOSで停止するためのスクリプトです。

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

これがLinuxサービスであるとすると、killコマンドはその特定のソケットの使用を停止するだけで、PIDをkillすると別のソケットを開きます。 Redhatの場合、サービスを終了するにはsystemctl stop mosquittoを実行します

0
Jared Gongloff