erlang:在不知道PiD的情况下结束一个过程?

时间:2013-02-16 01:52:43

标签: process erlang terminate

简单地说;如果我在使用此方法启动流程时意外忘记等待Pid变量,我该如何结束流程:

9> trivial_process:start().
<0.67.0>
10>  

我知道我应该写Pid = trivial_process:start().是否有某种方法可以采取&lt; 0.67.0&gt;并终止该过程?

-module(trivial_process).
-export([start/0]).

start() -> 
  spawn(fun() -> loop() end).

loop() ->
  receive
    Any ->
      io:format("~nI got the message: ~p~n",[Any]),
      loop()
  end.

编辑:回答

8> Pid = "<0.67.0>".
9> A2 = list_to_pid(Pid).
<0.67.0>

1 个答案:

答案 0 :(得分:2)

您可以使用list_to_pid功能。文档是here。您不应该在部署的代码中使用它,它仅对调试有用。它也不适用于远程pids。

参考:Something maybe you don’t know about Erlang PIDs