版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hanliangxiaochou/article/details/52416129
通向自由的大门
ejabberd route表
遍历route表
mod_muc_room_util:traversal_mnesia(route).
运行结果
[<<"im.cjzhibo.net">>,<<"pubsub.im.cjzhibo.net">>, <<"irc.im.cjzhibo.net">>,<<"conference.im.cjzhibo.net">>]
读取<<”im.cjzhibo.net”>>键值
mnesia:dirty_read(route,<<"conference.im.cjzhibo.net">>).
运行结果
[{route,<<"conference.im.cjzhibo.net">>, <<"im.cjzhibo.net">>,<0.426.0>,undefined}]
获取<0.426.0>对应的进程信息
B = pid(0,426,0). erlang:process_info(B).
运行结果
[{registered_name,'ejabberd_mod_muc_im.cjzhibo.net'}, {current_function,{gen_server,loop,6}}, {initial_call,{proc_lib,init_p,5}}, {status,waiting}, {message_queue_len,0}, {messages,[]}, {links,[<0.146.0>,<0.306.0>]}, {dictionary,[{'$ancestors',[ejabberd_sup,<0.42.0>]}, {'$initial_call',{mod_muc,init,1}}]}, {trap_exit,false}, {error_handler,error_handler}, {priority,normal}, {group_leader,<0.41.0>}, {total_heap_size,121535}, {heap_size,75113}, {stack_size,9}, {reductions,181887}, {garbage_collection,[{min_bin_vheap_size,46422}, {min_heap_size,233}, {fullsweep_after,65535}, {minor_gcs,55}]}, {suspending,[]}]
找到对应的注册进程名为
{registered_name,'ejabberd_mod_muc_im.cjzhibo.net'}
结束
至此,找到了ejabberd route信息的一个大概过程