Elixir语言中 Process.monitor 相关用法介绍如下。
用法:
monitor(item)
@spec monitor(pid() | {name, node()} | name) :: reference() when name: atom()
从调用进程开始监视给定的item。
一旦被监控的进程终止,一条消息就会以如下形式传递给监控进程:
{:DOWN, ref, :process, object, reason}
其中:
ref是该函数返回的监视器引用;object是被监控进程的pid(如果监控PID)或{name, node}(如果监控远程或本地名称);reason是退出原因。
如果在调用   时进程已经死亡,则会立即传递 Process.monitor/1 :DOWN 消息。
有关示例,请参见"The need for monitoring"。有关详细信息,请参阅 。:erlang.monitor/2 
由编译器内联。
例子
pid = spawn(fn -> 1 + 2 end)
#=> #PID<0.118.0>
Process.monitor(pid)
#=> #Reference<0.906660723.3006791681.40191>
Process.exit(pid, :kill)
#=> true
receive do
  msg -> msg
end
#=> {:DOWN, #Reference<0.906660723.3006791681.40191>, :process, #PID<0.118.0>, :noproc}
相关用法
- Elixir Process.demonitor用法及代码示例
 - Elixir Process.delete用法及代码示例
 - Elixir Process.whereis用法及代码示例
 - Elixir Process.group_leader用法及代码示例
 - Elixir Process.put用法及代码示例
 - Elixir Process.registered用法及代码示例
 - Elixir Process.register用法及代码示例
 - Elixir Process.get用法及代码示例
 - Elixir Process.exit用法及代码示例
 - Elixir Process.unregister用法及代码示例
 - Elixir Process.get_keys用法及代码示例
 - Elixir Process.sleep用法及代码示例
 - Elixir Process.send用法及代码示例
 - Elixir Process.spawn用法及代码示例
 - Elixir Process.send_after用法及代码示例
 - Elixir Process.list用法及代码示例
 - Elixir Protocol.extract_protocols用法及代码示例
 - Elixir Protocol.consolidate用法及代码示例
 - Elixir Protocol.derive用法及代码示例
 - Elixir Protocol用法及代码示例
 - Elixir Protocol.extract_impls用法及代码示例
 - Elixir Path.basename用法及代码示例
 - Elixir Path.rootname用法及代码示例
 - Elixir Path.type用法及代码示例
 - Elixir Path.split用法及代码示例
 
注:本文由纯净天空筛选整理自elixir-lang.org大神的英文原创作品 Process.monitor(item)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。
