【问题标题】:How to get instance of a specific running process in Elixir?如何在 Elixir 中获取特定运行进程的实例?
【发布时间】:2018-11-22 00:59:44
【问题描述】:

在 elixir 中,如果我调用 spawn 来创建一个进程但没有将进程实例存储到变量中,我怎样才能再次检索该 PID 的实例?

我知道我可以使用 Process.list() 来返回当前节点中运行的所有进程,但是有没有办法检索特定 PID 的实例?

【问题讨论】:

  • 最简单的方法是存储 PID 以供将来使用,或者为进程命名,以便您可以通过该唯一名称引用它(在给定节点中唯一。除非您在全局注册,否则它是在整个 erlang 网络中独一无二)。
  • 所以如果我没有命名我的PID,那么就没有办法检索它了吗?
  • 如果知道pid整数值,可以使用pid/3获取实例。例如。 pid(0, 123, 4)

标签: elixir


【解决方案1】:

最简单的方法是为进程设置名称并使用Process.whereis/1 检索它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-25
    • 2015-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多