2013-02-16 54 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

相關問題