【发布时间】:2023-03-13 02:54:02
【问题描述】:
试图通过它的 pid 终止一个孩子是行不通的,它应该根据文档:https://hexdocs.pm/elixir/1.3.3/Supervisor.html#terminate_child/2
iex(7)> {:ok, sup} = Supervisor.start_link([], strategy: :one_for_one)
{:ok, #PID<0.383.0>}
iex(8)> {:ok, pid} = Supervisor.start_child(sup, worker(RData.ExpectedRefurbishmentCost, [self()]))
{:ok, #PID<0.385.0>}
iex(9)> Supervisor.terminate_child(sup, pid)
{:error, :not_found}
有什么让它起作用的线索吗?
【问题讨论】:
-
文档说您需要为除
simple_one_for_one之外的所有策略传递子ID。 PID 仅适用于simple_one_for_one。 -
我超出了这个范围......谢谢你的精确性:)
标签: elixir erlang-otp