据我所知,监督进程可以监督Erlang/OTP行为模型中的大量进程。监督Erlang/OTP监督行为中的普通进程
该过程可以是gen_server
,gen_fsm,
和gen_event
。我的问题是,一个普通的进程是否可以通过Erlang/OTP中的主管进程来监督?我的意思是一个不是gen_server
,gen_fsm
或gen_event
的过程。
如果是这样,过程规范将如何看起来像?下面我试过,但不起作用:
Spec = {Id, {my_module, my_function, [Par1, ..., ParN]}, permanent, 5000, worker, [my_module]}
我也试过这样:
Spec = {Id, {my_module, my_function, [Par1, ..., ParN]}, permanent, 5000, worker, []}
但是,当我更换模块和功能与gen_server
模块,并从里面的函数,这个效果很好。
我可以得出结论:监督员的子流程不能是一个普通流程吗?
错误,我得到的是:
错误是如下:应用程序:退出MYAPP :{bad_return, {{myapp_app,启动,[正常,[]}, { 'EXIT', { {badmatch, {错误, {关机, {failed_to_start_child,worker_1, {确定,状态}}}}}, [{myapp_app,开始,如图2所示, [{文件, “SRC/myapp_app.erl”} ,{line,27}]}, {application_master,start_it_old,4, [{file,“a pplication_master.erl“},{线,272}]}]}}}}
你怎么知道它不起作用? – legoscia
显然,我跑了它,并得到错误。 – user3389168
你得到了什么错误? – legoscia