1

简单的说; 如果我在使用以下命令启动进程时不小心忘记将 Pid 变量等同起来,我该如何结束进程:

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

我知道我应该写Pid = trivial_process:start().有没有办法采取 <0.67.0> 并终止进程?

-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>
4

1 回答 1

2

您可以使用该list_to_pid功能。文档在这里。你不应该在部署的代码中使用它,它只对调试有用。它也不适用于远程 pid。

参考:关于 Erlang PID 的一些你可能不知道的事情

于 2013-02-16T02:33:55.363 回答