> Erlang中文手册 > process_info/2 获取进程的相关信息

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).