Można użyć Supervisor.which_children/1:
iex> Supervisor.which_children(MyApp.Supervisor)
[{MyApp.SubSupervisor, #PID<0.1695.0>, :supervisor, [MyApp.SubSupervisor]},
{MyApp.Endpoint, #PID<0.1686.0>, :supervisor, [MyApp.Endpoint]}]
Funkcja ta zwraca listę krotek zawierających:
id - jak określono w specyfikacji dziecko lub: niezdefiniowane w przypadku przełożonego simple_one_for_one
child - pid odpowiedniego procesu potomnego, atom: restartowanie, jeśli proces ma zostać ponownie uruchomiony, lub: undefined, jeśli nie ma takiego procesu
typ -: pracownik lub: nadzorca, jak określono w specyfikacji dziecięcej
moduły - jak określono w specyfikacji dziecięcej
Od type
i pid
są przewidziane można rekurencyjnie sprowadzić dzieci do wygenerowania w razie potrzeby listę wszystkich aparatów oddechowych.
W celu późniejszego wykorzystania, moduł Elixir Supervisor jest udokumentowany tutaj: http://elixir-lang.org/docs/stable/elixir/Supervisor.html –