erlang:process_info/2
获取进程的相关信息
用法:
process_info(Pid, ItemSpec) -> InfoResult
返回进程 Pid 指定的 ItemSpec 的相关信息,如果进程不存在,则返回 undefined.
message_queue_len:进程消息队列的当前消息的数量。这是指定项 messages 所返回的消息队列列表的长度值。
erlang:process_info(self(), message_queue_len).
messages:返回进程还没有处理的消息列表。
erlang:process_info(self(), messages).
registered_name:返回进程注册的名。如果进程没有注册名,则返回一个空列表 []。
erlang:process_info(self(), registered_name).
reductions:返回进程执行 reductions 的次数,一般用来衡量进程负载。
erlang:process_info(self(), reductions).
heap_size:表示进程内存占用堆区的大小,单位是 words(一般 32 位系统 1 word 是为 4 字节,64 位系统 1 word 是 8 字节,系统具体占用多少字节数可通过 erlang:system_info(wordsize) 查看)。
erlang:process_info(self(), heap_size).
memory:进程占用内存的大小(单位是字节 bytes),这包括被调用的栈、堆和内部的一些结构数据。
erlang:process_info(self(), memory).
priority:获取进程的当前优先级。
erlang:process_info(self(), priority).
current_function:当前进程调用着的函数。
erlang:process_info(self(), current_function).
backtrace:当前进程的一些回溯追踪信息。
erlang:process_info(self(), backtrace).
group_leader:负责IO 进程管理的组管理者。
erlang:process_info(self(), group_leader).