Question

When I ran the Mosquitto (MQTT) broker for the first time there was no issue. But however from he second time when i ran it using default config I could not run the code successfully because of the following error:

1379497253: mosquitto version 1.2 (build date 2013-09-17 17:59:39+0530) starting 1379497253: Using default config. 1379497253: Opening ipv6 listen socket on port 1883. 1379497253: Error: Address already in use

I would like to know how to stop the broker from command line. It'll be nice if someone can help.

Was it helpful?

Solution 3

You don't say which OS you are using, but assuming it's Linux and you have mosquitto running in the background, you just use the kill command.

Use ps to find the pid of the currently running mosquitto instance then kill the pid.

OTHER TIPS

mosquitto starts to be a 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

If you don't know the PID, than you can use "pkill" instead of "kill" in linux. Command: "pkill mosquitto"

You can use your own batch script file like mosquit.sh in bash. This is my script to stop it on CentOS.

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

Assuming it's the linux service, a kill command will only stop using that particular socket, and will open up on another socket upon killing the PID. On redhat, to kill the service would be systemctl stop mosquitto

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top