当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


erlang unlink(Id)用法及代码示例


类型:
Id = pid() | port()

删除调用进程与另一个进程或由 Id 标识的端口之间的链接。我们将从这里调用已识别的进程或端口取消链接。

可以使用以下命令设置链接link/1BIF。有关链接和由于链接而导致的退出信号的更多信息,请参阅流程中的章节Erlang参考手册

一次unlink(Id)返回后,保证调用者和未链接者之间的链接对将来的调用者没有影响(除非再次建立链接)。请注意,如果调用者是陷阱出口, 一个{'EXIT', Id, ExitReason}由于链接而产生的消息可能在调用之前已被放置在调用者的消息队列中unlink(Id)调用完成。另请注意,{'EXIT', Id, ExitReason}消息可能是链接的结果,但也可能是通过调用exit/2BIF。因此,在调用后清理消息队列可能合适,也可能不合适。unlink(Id)退出时如下:

unlink(Id),
receive
    {'EXIT', Id, _} ->
        true
after 0 ->
        true
end

链接删除是异步执行的。如果这样的链接不存在,则不执行任何操作。的详细说明链路协议可以在分发协议的章节ERTS 用户指南.

注意

有关分布式信号的一些重要信息,请参阅 阻止信号传输部分中的流程的章节Erlang参考手册.

失败:badarg(如果 Id 未识别进程或节点本地端口)。

相关用法


注:本文由纯净天空筛选整理自erlang.org大神的英文原创作品 unlink(Id) -> true。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。