当进程死亡时,计时器ref是否被取消?

时间:2016-04-13 05:10:09

标签: erlang

我生成一个进程,并在生成的进程中运行timer:apply_interval,但计时器ref似乎无效。

以下是代码:

2> {ok, File} = file:open("plcLog.txt", [append, raw]).
{ok,{file_descriptor,prim_file,{#Port<0.536>,10}}}
3>  spawn(fun() -> {ok, Tref} = timer:apply_interval(1, file, write, [File, "hello world"])
end).  
<0.37.0>
4> 
4> file:close(File).
ok

当我检查"plcLog.txt"的内容时,它是空的。

所以我认为spwan进程死后定时器ref无效。 是不是?

1 个答案:

答案 0 :(得分:5)

Timer提到的计时器文件通过评估任何函数apply_interval / 4创建的计时器链接到计时器执行其任务的进程。请注意Man page of Timer

的警告部分