对于主管:start_child的返回值{ok,Child,Info}来自哪里?

时间:2012-11-19 10:09:19

标签: erlang otp supervisor

我从Erlang文档中看到supervisor:start_child可以返回两个不同的非错误结果:{ok,Child}和{ok,Child,Info}。这个Info在哪里设置?与其他人相比,simple_one_for_one sups是不同的?我无法找到关于此的示例/文档......

1 个答案:

答案 0 :(得分:4)

Info来自启动子进程的函数(如主管中的子规范中所示)。大多数情况下,该函数最终将调用仅gen_server:start_link/4而不返回{ok, Pid}的{​​{3}},因此这种情况仅适用于您有一个自定义函数来生成进程,可能使用the proc_lib module中的函数。

不使用预定义行为的流程称为“特殊流程”,并且为described in the OTP Design Principles User's Guide