Supervisor.start_child

You're seeing just the function start_child, go back to Supervisor module for more information.
Link to this function

start_child(supervisor, child_spec)

View Source

Specs

start_child(
  supervisor(),
  :supervisor.child_spec() | {module(), term()} | module()
) :: on_start_child()

Adds a child specification to supervisor and starts that child.

child_spec should be a valid child specification. The child process will be started as defined in the child specification.

If a child specification with the specified ID already exists, child_spec is discarded and this function returns an error with :already_started or :already_present if the corresponding child process is running or not, respectively.

If the child process start function returns {:ok, child} or {:ok, child, info}, then child specification and PID are added to the supervisor and this function returns the same value.

If the child process start function returns :ignore, the child specification is added to the supervisor, the PID is set to :undefined and this function returns {:ok, :undefined}.

If the child process start function returns an error tuple or an erroneous value, or if it fails, the child specification is discarded and this function returns {:error, error} where error is a term containing information about the error and child specification.