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)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。