消息是否進入「/ dev/null」?這就是我希望會發生的事情。當我將消息發送到Erlang的一個已停止的進程時會發生什麼?
似乎是!如果第一個操作數是pid,而不是原子,操作員不會告訴發件人收件人已經死亡。我想這不會有用,因爲收件人可能會在收到郵件後立即死亡,而發件人也不會了解這一點。
但我覺得發件人應該得到某種錯誤,因爲當第一個操作數是一個原子而不是pid時會發生這種情況。例如。
> register(am_i_defunct, P=spawn_link(fun() -> timer:sleep(3000) end)).
true
> am_i_defunct ! herp.
herp
> am_i_defunct ! herp.
** exception error: bad argument
in operator !/2
called as am_i_defunct ! herp
> P ! derp.
derp
[Erlang消息到不存在的PID]的可能重複(http://stackoverflow.com/questions/28430114/erlang-message-to-non-existent-pid) – 2015-02-17 21:50:38