【发布时间】:2011-07-29 21:11:21
【问题描述】:
这应该是一个简单的问题,但我对文档的了解不足以找到答案。
如果 OTP 主管在 gen_server 崩溃后重新启动它,新的子进程是继承崩溃进程的消息队列,还是在崩溃前发送但尚未被旧子进程处理的消息掉在地上?
【问题讨论】:
标签: erlang erlang-otp
这应该是一个简单的问题,但我对文档的了解不足以找到答案。
如果 OTP 主管在 gen_server 崩溃后重新启动它,新的子进程是继承崩溃进程的消息队列,还是在崩溃前发送但尚未被旧子进程处理的消息掉在地上?
【问题讨论】:
标签: erlang erlang-otp
不,一个进程永远不会继承前一个进程设置的任何状态。监督者只会使用最初用于启动它的相同参数重新启动进程。
如果你想恢复状态,你应该确保这种状态以持久的方式保存(ETS 表、磁盘上的文件、数据库等)。
【讨论】: