檢視原始碼 erl_boot_server (kernel v10.2)

用於其他 Erlang 機器的啟動伺服器。

此伺服器用於協助無碟 Erlang 節點,這些節點會從另一台機器取得所有 Erlang 程式碼。

如果 Erlang 運行時系統使用命令列標誌 -loader inet 啟動,則此伺服器用於提取所有程式碼,包括啟動腳本。所有使用命令列標誌 -hosts Host 指定的主機都必須執行此伺服器的一個實例。

可以使用 Kernel 組態參數 start_boot_server 啟動此伺服器。

erl_boot_server 可以讀取一般檔案和封存檔中的檔案。請參閱 ERTS 中的 codeerl_prim_loader

警告

對從封存檔案載入程式碼的支援是實驗性的。它會在準備好之前發布,以獲得早期回饋。檔案格式、語義、介面等等可能會在未來版本中變更。

另請參閱

erts:init, erts:erl_prim_loader

摘要

函式

Slave 節點新增至允許的從屬主機清單。

從允許的從屬主機清單中刪除 Slave 節點。

啟動啟動伺服器。Slaves 是允許使用此伺服器作為啟動伺服器的主機 IP 位址清單。

啟動啟動伺服器並連結到呼叫者。如果伺服器包含在監督樹中,則使用此函式啟動伺服器。

傳回目前允許的從屬主機清單。

函式

-spec add_slave(Slave) -> ok | {error, Reason}
                   when
                       Slave :: Host,
                       Host :: inet:ip_address() | inet:hostname(),
                       Reason :: {badarg, Slave}.

Slave 節點新增至允許的從屬主機清單。

-spec delete_slave(Slave) -> ok | {error, Reason}
                      when
                          Slave :: Host,
                          Host :: inet:ip_address() | inet:hostname(),
                          Reason :: {badarg, Slave}.

從允許的從屬主機清單中刪除 Slave 節點。

-spec start(Slaves) -> {ok, Pid} | {error, Reason}
               when
                   Slaves :: [Host],
                   Host :: inet:ip_address() | inet:hostname(),
                   Pid :: pid(),
                   Reason :: {badarg, Slaves}.

啟動啟動伺服器。Slaves 是允許使用此伺服器作為啟動伺服器的主機 IP 位址清單。

-spec start_link(Slaves) -> {ok, Pid} | {error, Reason}
                    when
                        Slaves :: [Host],
                        Host :: inet:ip_address() | inet:hostname(),
                        Pid :: pid(),
                        Reason :: {badarg, Slaves}.

啟動啟動伺服器並連結到呼叫者。如果伺服器包含在監督樹中,則使用此函式啟動伺服器。

-spec which_slaves() -> Slaves
                      when
                          Slaves :: [Slave],
                          Slave :: {Netmask :: inet:ip_address(), Address :: inet:ip_address()}.

傳回目前允許的從屬主機清單。