显示某进程的消息:
方法一:
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"]}]}]]}