RabbitMQ学习笔记:消息服务器进程详解

作者简介:大家好,我是smart哥,前中兴通讯、美团架构师,现某互联网公司CTO

联系qq:184480602,加我进群,大家一起学习,一起进步,一起对抗互联网寒冬

学习必须往深处挖,挖的越深,基础越扎实!

阶段1、深入多线程

阶段2、深入多线程设计模式

阶段3、深入juc源码解析


阶段4、深入jdk其余源码解析


阶段5、深入jvm源码解析

码哥源码部分

码哥讲源码-原理源码篇【2024年最新大厂关于线程池使用的场景题】

码哥讲源码【炸雷啦!炸雷啦!黄光头他终于跑路啦!】

码哥讲源码-【jvm课程前置知识及c/c++调试环境搭建】

​​​​​​码哥讲源码-原理源码篇【揭秘join方法的唤醒本质上决定于jvm的底层析构函数】

码哥源码-原理源码篇【Doug Lea为什么要将成员变量赋值给局部变量后再操作?】

码哥讲源码【你水不是你的错,但是你胡说八道就是你不对了!】

码哥讲源码【谁再说Spring不支持多线程事务,你给我抽他!】

终结B站没人能讲清楚红黑树的历史,不服等你来踢馆!

打脸系列【020-3小时讲解MESI协议和volatile之间的关系,那些将x86下的验证结果当作最终结果的水货们请闭嘴】

查看后台rabbitmq服务进程

可以看到一共有五个进程,其中PID为155(/usr/lib64/erlang/erts-10.5.6/bin/epmd -daemon)的进程是Erlang虚拟机的一个守护进程,与RabbitMQ节点一起运行,运行时使用它来发现特定节点监听端口;其它四个节点属于父子节点的关系;

停止Erlang虚拟机和RabbitMQ应用服务
    #停止erlang虚拟机和RabbitMQ应用服务器
    rabbitmqctl stop
查看Erlang虚拟机和RabbitMQ应用服务停止后的进程情况
    [root@rabbit3 /]# ps aux
    USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
    root         1  0.0  0.1  11836  2804 pts/0    Ss+  Dec10   0:00 /bin/bash
    rabbitmq   155  0.0  0.1  50896  3520 ?        S    Dec10   0:00 /usr/lib64/erlang/erts-10.5.6/bin/epmd -daemon
    root     43981  0.0  0.1  11836  3140 pts/1    Ss   02:49   0:00 bash
    root     53569  0.0  0.1  51760  3472 pts/1    R+   05:42   0:00 ps aux

可以看到erlang虚拟机和RabbitMQ停止服务后,其它四个进程都消失了,只剩下一个epmd守护进程在运行。

仅仅停止RabbitMQ应用服务器,不停止Erlang虚拟机
    rabbitmqctl stop_app
查看进程情况
    [root@rabbit3 /]# ps auxf
    USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
    root      5321  0.0  0.1  11836  3064 pts/1    Ss   07:36   0:00 bash
    root      5549  0.0  0.1  51756  3504 pts/1    R+   07:38   0:00  \_ ps auxf
    rabbitmq  3711  1.0  4.1 2204860 84368 ?       Sl   07:05   0:20 /usr/lib64/erlang/erts-10.5.6/bin/beam.smp -W w -A 64 -
    rabbitmq  3778  0.0  0.0   4364  1360 ?        Ss   07:05   0:00  \_ erl_child_setup 1048576
    rabbitmq  3797  0.0  0.0  11600   944 ?        Ss   07:05   0:00      \_ inet_gethost 4
    rabbitmq  3798  0.0  0.0  13724  1720 ?        S    07:05   0:00          \_ inet_gethost 4
    rabbitmq   162  0.0  0.0  49048  1800 ?        S    06:07   0:00 /usr/lib64/erlang/erts-10.5.6/bin/epmd -daemon
    root         1  0.0  0.1  11836  2932 pts/0    Ss+  06:06   0:00 /bin/bash

可以看到RabbitMQ应用服务停止的时候进程没有发生任何变化,个人理解rabbit应用是建立在Erlang虚拟机节点之上,rabbit应用启动不会创建单独的进程表现到操作系统。如果有正确的答案请留言,谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值