How do I stop the RabbitMQ server on localhost

I installed RabbitMQ server on OS X, and started it on command line. Now, it is not obvious that how I should stop it from running? After I did:

sudo rabbitmq-server -detached

I get:

Activating RabbitMQ plugins ...
0 plugins activated:

That was it. How should I properly shut it down? In the document, it mentions using rabbitmqctl(1), but it's not clear to me what that means. Thanks.

Edit: As per comment below, this is what I get for running sudo rabbitmqctl stop:

(project_env)mlstr-1:Package mlstr$ sudo rabbitmqctl stop
Password:
Stopping and halting node rabbit@h002 ...
Error: unable to connect to node rabbit@h002: nodedown

DIAGNOSTICS
===========

nodes in question: [rabbit@h002]

hosts, their running nodes and ports:
- h002: [{rabbit,62428},{rabbitmqctl7069,64735}]

current node details:
- node name: rabbitmqctl7069@h002
- home dir: /opt/local/var/lib/rabbitmq
- cookie hash: q7VU0JjCd0VG7jOEF9Hf/g==

Why is there still a 'current node'? I have not run any client program but only the RabbitMQ server, does that mean a server is still running?


Solution 1:

It turns out that it is related to permissions. Somehow my rabbitmq server was started with user 'rabbitmq' (which is strange), so that I had to do

sudo -u rabbitmq rabbitmqctl stop

Solution 2:

In my dev environment where I keep it running all the time, I use:

launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.rabbitmq.plist

and to start it

launchctl load ~/Library/LaunchAgents/homebrew.mxcl.rabbitmq.plist

Even easier....

brew services stop rabbitmq
brew services start rabbitmq

Solution 3:

Use rabbitmqctl stop to stop any node. If you need to specify the node giving you trouble, add the -n rabbit@[hostname] option.