2013-02-16 64 views
1

简单地说,我怎样才能结束进程,如果我不小心忘了等同于一个PID变量时,我用这个启动的进程:erlang:在不知道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> 

回答

2

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

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

+0

请你举个例子。我试过这个'Pid2 = list_to_pid(“<0.67.0>”).'没有运气...... – pandoragami 2013-02-16 02:38:05

+0

好吧,没关系,只是看到你的参考在步骤8-9显示它。好 – pandoragami 2013-02-16 02:39:56

相关问题