【问题标题】:how to stop rabbitmq servers如何停止rabbitmq服务器
【发布时间】:2014-01-04 03:06:49
【问题描述】:

我正在尝试启动一个节点应用程序,但我认为 rabbitmq 正在碍事。

与本帖类似:"node with name "rabbit" already running", but also "unable to connect to node 'rabbit'"

$ ps aux | grep erl
rabbitmq  1327  0.0  0.0   2376   300 ?        S    Dec13   0:00 /usr/lib/erlang/erts-5.8.5/bin/epmd -daemon
rabbitmq  1344  0.0  0.3  59560 14888 ?        Sl   Dec13   0:10 /usr/lib/erlang/erts-5.8.5/bin/beam.smp -W w -K true -A30 -P 1048576 -- -root /usr/lib/erlang -progname erl -- -home /var/lib/rabbitmq -- -noshell -noinput -sname rabbit@jasonshark -boot /var/lib/rabbitmq/mnesia/rabbit@jasonshark-plugins-expand/rabbit -kernel inet_default_connect_options [{nodelay,true}] -sasl errlog_type error -sasl sasl_error_logger false -rabbit error_logger {file,"/var/log/rabbitmq/rabbit@jasonshark.log"} -rabbit sasl_error_logger {file,"/var/log/rabbitmq/rabbit@jasonshark-sasl.log"} -os_mon start_cpu_sup true -os_mon start_disksup false -os_mon start_memsup false -mnesia dir "/var/lib/rabbitmq/mnesia/rabbit@jasonshark"
rabbitmq  1700  0.0  0.0   2136   284 ?        Ss   Dec13   0:00 /usr/lib/erlang/lib/os_mon-2.2.7/priv/bin/cpu_sup
1000     15564  0.0  0.0   4392   820 pts/1    S+   19:23   0:00 grep --color=auto erl

我知道我现在需要运行 kill -9 {pid of rabbitmq process},但是 pid 是哪个数字?

如何停止与rabbitmq有关的一切,我不希望它干扰我的节点js

【问题讨论】:

  • 停止兔子 MQ : sudo -u rabbitmq rabbitmqctl stop

标签: node.js rabbitmq pid


【解决方案1】:

你有几个选择:

  1. 首先,尝试使用 init.d 脚本sudo /etc/init.d/rabbitmq-server stop 优雅地关闭 RabbitMQ
  2. 如果这不起作用,请使用 ps -eaf | grep erl 查找进程和父 ID。输出中的第三列是父进程 ID。找到仍然是 erlang 进程(不是启动它的 shell 脚本)的所有进程的第一个祖先并杀死它。这应该终止其他子进程。如果没有,请手动杀死它们。

【讨论】:

    【解决方案2】:

    我今天刚开始使用 RabbitMQ,了解到您可以使用命令 rabbitmqctl stop 干净地关闭 rabbitmq-server 进程。

    这可能不适用于您的情况,因为您似乎不是首先在您的服务器上启动 rabbitmq 的人,但如果您的路径中有 rabbitmqctl,您可以尝试使用它来尝试清理关机。

    【讨论】:

      【解决方案3】:

      这对我有用(在 Linux 上),当优雅地停止时没有:

      sudo pkill beam.smp
      

      beam.smp 是最新版本中父 RabbitMQ 进程的名称。

      【讨论】:

      • 这工作了几秒钟,然后它就回来了。 rabbitmq 就像一个怪异的病毒。它不会消失。
      【解决方案4】:

      如果你的系统中有pgrep,那么你可以

      pgrep <proc_name>
      

      它会输出一个可以用来杀死它们的pid列表

      【讨论】:

      • 对不起,我是菜鸟,这个案例的 proc_name 是什么?
      • 进程名称:在您的情况下为epmdbeam.smpcpu_sup
      【解决方案5】:

      如果安装时使用brew,则可以使用brew services restart rabbitmqbrew services start rabbitmqbrew services stop rabbitmq

      【讨论】:

        【解决方案6】:

        在 Ubuntu 18.04 上,对我有用的是:

        service rabbitmq-server stop
        

        你也可以运行:

        service rabbitmq-server start
        

        重新开始。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-12-15
          • 2012-02-27
          • 2017-06-14
          • 2011-10-18
          • 2021-08-09
          • 1970-01-01
          相关资源
          最近更新 更多