erlang 进程消息和状态

本文介绍了两种在Erlang中查看进程消息和状态的方法。通过使用`whereis`获取进程ID,然后利用`process_info`或`si:ppi`展示进程消息,以及借助`sys:get_status`来获取进程状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

显示某进程的消息:


方法一:

  1> Pid = whereis(?MODULE).

    2> process_info(Pid) .

whereis(room_manager).
<0.107.0>
process_info(Pid).
[{registered_name,room_manager},
 {current_function,{gen_server,loop,6}},
 {initial_call,{proc_lib,init_p,5}},
 {status,waiting},
 {message_queue_len,0},
 {messages,[]},
 {links,[<0.102.0>]},
 {dictionary,[{'$ancestors',[server_sup,<0.101.0>]},
              {'$initial_call',{room_manager,init,1}}]},
 {trap_exit,true},
 {error_handler,error_handler},
 {priority,normal},
 {group_leader,<0.100.0>},
 {total_heap_size,233},
 {heap_size,233},
 {stack_size,9},
 {reductions,37},
 {garbage_collection,[{min_bin_vheap_size,46368},
                      {min_heap_size,233},
                      {fullsweep_after,65535},
                      {minor_gcs,0}]},
 {suspending,[]}]

方法二:

  1> Pid = whereis(?MODULE).

  2> si:ppi(Pid). 

si:ppi(Pid).
  
Pretty Process Info
-------------------
[{registered_name,room_manager},
 {current_function,{gen_server,loop,6}},
 {initial_call,{proc_lib,init_p,5}},
 {status,waiting},
 {message_queue_len,0},
 {messages,[]},
 {links,[<0.102.0>]},
 {dictionary,[{'$ancestors',[server_sup,<0.101.0>]},
              {'$initial_call',{room_manager,init,1}}]},
 {trap_exit,true},
 {error_handler,error_handler},
 {priority,normal},
 {group_leader,<0.100.0>},
 {total_heap_size,233},
 {heap_size,233},
 {stack_size,9},
 {reductions,37},
 {garbage_collection,[{min_bin_vheap_size,46368},
                      {min_heap_size,233},
                      {fullsweep_after,65535},
                      {minor_gcs,0}]},
 {suspending,[]}]
ok

显示进行的状态


方法:

1> Pid = whereis(?MODULE).

2> sys:get_status(Pid).

sys:get_status(Pid).
{status,<0.107.0>,
        {module,gen_server},
        [[{'$ancestors',[server_sup,<0.101.0>]},
          {'$initial_call',{room_manager,init,1}}],
         running,<0.102.0>,[],
         [{header,"Status for generic server room_manager"},
          {data,[{"Status",running},
                 {"Parent",<0.102.0>},
                 {"Logged events",[]}]},
          {data,[{"State",["room_server1"]}]}]]}







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值