[erlang-questions] Stopping a supervisor running under a supervisor

Chris Clark boozelclark@REDACTED
Tue Jan 6 16:31:31 CET 2015


Hi Sean

supervisor:terminate_child/2 does work however it causes errors in my logs
so i am looking for a way to gracefully terminate the children.

Thanks

On Tue, Jan 6, 2015 at 4:20 PM, Sean Cribbs <sean@REDACTED> wrote:

> Did you try supervisor:terminate_child/2?
>
> On Mon, Jan 5, 2015 at 11:44 PM, Chris Clark <boozelclark@REDACTED>
> wrote:
>
>> Hi Antonio
>>
>> Thanks for the assistance. From what I have read  a supervisor should
>> stop if it is sent a shutdown signal using exit(Pid, shutdown). but it
>> will only accept that signal from its parent process in an OTP application.
>> I tried creating a function in the parent supervisor(my_supersup)
>> stop_child(Pid) that then sends the exit(pid, shutdown) signal and then
>> call that from the shell but that doesn't seem to stop it either.
>>
>> Thanks,
>>
>> On Tue, Dec 30, 2014 at 11:47 PM, Antonio Dias <antonio.r.dias@REDACTED>
>> wrote:
>>
>>> Hi, i'm fairly new to Erlang also, but can't you send a 'stop' message
>>> and use that to stop the process?
>>>
>>> ADias
>>>
>>> On Thu, Dec 11, 2014 at 10:40 AM, Chris Clark <boozelclark@REDACTED>
>>> wrote:
>>>
>>>> Hi
>>>>
>>>> I am fairly new to erlang and have a question regarding properly
>>>> stopping a supervisor that resides directly under another supervisor.
>>>>
>>>> My application consist of a top level supervisor (my_supersup) which is
>>>> a simple_one_for_one supervisor of other supervisors my_sup. Each my_sup
>>>> supervises a gen_server, serv and another supervisor that is also a
>>>> simple_one_for_one supervisor of some workers
>>>>
>>>> my_supersup
>>>> (simple_one_for_one, transient)
>>>> |
>>>> |_______ ...
>>>> |
>>>> my_sup (one_for_all, transient)
>>>> |________________
>>>> |                            |
>>>> |                           serv
>>>> worker_sup
>>>> (simple_one_for_one, transient)
>>>> |___________ ...
>>>> |              |
>>>> w1          w2
>>>>
>>>> How do shutdown an instance of my_sup gracefully without killing it. At
>>>> present I can do it with supervisor:terminate_child and
>>>> supervisor:delete_child but I would like them to shutdown rather than be
>>>> killed if possible?
>>>>
>>>> Thanks in advance.
>>>>
>>>> _______________________________________________
>>>> erlang-questions mailing list
>>>> erlang-questions@REDACTED
>>>> http://erlang.org/mailman/listinfo/erlang-questions
>>>>
>>>>
>>>
>>
>> _______________________________________________
>> erlang-questions mailing list
>> erlang-questions@REDACTED
>> http://erlang.org/mailman/listinfo/erlang-questions
>>
>>
>
>
> --
> Sean Cribbs <sean@REDACTED>
> Sr. Software Engineer
> Basho Technologies, Inc.
> http://basho.com/
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20150106/ba7b3a93/attachment.htm>


More information about the erlang-questions mailing list