Supervisor.start_link

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

start_link(children, options)

View Source

Specs

start_link([:supervisor.child_spec() | {module(), term()} | module()], [
  option() | init_option()
]) ::
  {:ok, pid()}
  | {:error, {:already_started, pid()} | {:shutdown, term()} | term()}
start_link(module(), term()) :: on_start()

Starts a supervisor with the given children.

The children is a list of modules, two-element tuples with module and arguments or a map with the child specification. A strategy is required to be provided through the :strategy option. See "start_link/2, init/2, and strategies" for examples and other options.

The options can also be used to register a supervisor name. The supported values are described under the "Name registration" section in the GenServer module docs.

If the supervisor and its child processes are successfully spawned (if the start function of each child process returns {:ok, child}, {:ok, child, info}, or :ignore) this function returns {:ok, pid}, where pid is the PID of the supervisor. If the supervisor is given a name and a process with the specified name already exists, the function returns {:error, {:already_started, pid}}, where pid is the PID of that process.

If the start function of any of the child processes fails or returns an error tuple or an erroneous value, the supervisor first terminates with reason :shutdown all the child processes that have already been started, and then terminates itself and returns {:error, {:shutdown, reason}}.

Note that a supervisor started with this function is linked to the parent process and exits not only on crashes but also if the parent process exits with :normal reason.

Link to this function

start_link(module, init_arg, options \\ [])

View Source

Specs

start_link(module(), term(), [option()]) :: on_start()

Starts a module-based supervisor process with the given module and init_arg.

To start the supervisor, the init/1 callback will be invoked in the given module, with init_arg as its argument. The init/1 callback must return a supervisor specification which can be created with the help of the init/2 function.

If the init/1 callback returns :ignore, this function returns :ignore as well and the supervisor terminates with reason :normal. If it fails or returns an incorrect value, this function returns {:error, term} where term is a term with information about the error, and the supervisor terminates with reason term.

The :name option can also be given in order to register a supervisor name, the supported values are described in the "Name registration" section in the GenServer module docs.