【问题标题】:How can I verify that an erlang process is hibernated?如何验证 erlang 进程是否已休眠?
【发布时间】:2018-03-02 23:09:04
【问题描述】:

有没有办法验证 erlang 进程确实已经休眠。 erlang:process_info/1 似乎没有提供此信息,我想不出其他可能的信息。

【问题讨论】:

  • 如果您只是在这方面寻找 Erlang,请删除 elixir 标签。
  • 长生不老药也是一样。 Elixir 中的进程仍然是“erlang”进程,因为它们运行在 EVM - Erlang 虚拟机上
  • 好吧,直到您发布答案之前,只列出了一个 Erlang 答案,所以我认为您只关心 Erlang。不,它在 Elixir 中不一样——语法不同。 类似,但语法不同。
  • 语义上是一样的,执行的字节码是一样的,查询返回的变量是一样的。在我的书中(我每天混合 Erlang 和 Elixir)是一样的。如果他们碰巧通过搜索找到了这个答案,每个 Elixir(仅限)程序员都可以轻松地从这个答案中受益。我真的不明白为什么有人会通过删除标签来否认他们的这一知识。但是,是的,给你,给你明确的 Elixir 答案:)

标签: erlang elixir


【解决方案1】:

它的当前函数应该是erlang:hibernate/3

1> erlang:process_info(Pid, current_function).
 {current_function,{erlang, hibernate, 3}}

【讨论】:

    【解决方案2】:

    下面是如何在 Elixir 中做同样的事情:

    iex(2)> :erlang.process_info(pid, :current_function)
    {:current_function, {:erlang, :hibernate, 3}}
    

    【讨论】:

      猜你喜欢
      • 2014-05-12
      • 1970-01-01
      • 2012-09-18
      • 1970-01-01
      • 2012-11-19
      • 2011-02-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多