start(Host) -> {ok, Node} | {error, Reason}
start(Host, Name) -> {ok, Node} | {error, Reason}
start(Host, Name, Args) -> {ok, Node} | {error, Reason}
類型:
Host = inet:hostname()
Name = atom() | string()
Args = string()
Node = node()
Reason = timeout | no_rsh | {already_running, Node}
在主機 Host
上啟動從節點。主機名不必指定為完全限定名稱;也可以使用短名稱。這與適用於分布式 Erlang 節點名稱的條件相同。
啟動的節點名稱變為 Name@Host
。如果未提供名稱,則該名稱將與執行調用的節點相同(節點名稱的主機名部分除外)。
從節點重置其 user
進程,以便從節點產生的所有終端 I/O 都會自動中繼到主節點。此外,文件進程被中繼到主站。
參數Args
用於設置erl
命令行參數。如果提供,它會被傳遞到新節點並可用於多種目的;看erl(1)
.
例如,假設您要在主機 H
上啟動節點名稱為 Name@H
的從節點,並希望該從節點具有以下屬性:
- 目錄
Dir
將添加到代碼路徑中。 - Mnesia 目錄將設置為
M
。 - Unix
DISPLAY
環境變量將設置為主節點的顯示。
執行以下代碼來實現此目的:
E = " -env DISPLAY " ++ net_adm:localhost() ++ ":0 ",
Arg = "-mnesia_dir " ++ M ++ " -pa " ++ Dir ++ E,
slave:start(H, Name, Arg).
該函數返回 {ok, Node}
,其中 Node
是新節點的名稱,否則返回 {error, Reason}
,其中 Reason
可以是以下之一:
timeout
-
主節點與從節點聯係失敗。這可能會在多種情況下發生:
- 遠程主機上未安裝 Erlang/OTP。
- 另一台主機上的文件係統與主主機具有不同的結構。
- Erlang 節點有不同的 cookie。
no_rsh
-
計算機上未找到遠程 shell 程序。請注意,默認情況下使用
ssh
,但可以使用-rsh
標誌覆蓋它。 {already_running, Node}
-
名為
Name@Host
的節點已存在。
相關用法
- erlang statistics(Item :: garbage_collection)用法及代碼示例
- erlang statistics(Item :: microstate_accounting)用法及代碼示例
- erlang statistics(Item :: reductions)用法及代碼示例
- erlang statistics(Item :: runtime)用法及代碼示例
- erlang statistics(Item :: scheduler_wall_time)用法及代碼示例
- erlang str用法及代碼示例
- erlang store(Key, Value, Orddict1)用法及代碼示例
- erlang str(String, SubString)用法及代碼示例
- erlang strip(String :: string())用法及代碼示例
- erlang strict_relation(BinRel1)用法及代碼示例
- erlang string_to_handle(QueryString)用法及代碼示例
- erlang sin用法及代碼示例
- erlang substr用法及代碼示例
- erlang sort用法及代碼示例
- erlang sublist用法及代碼示例
- erlang sum用法及代碼示例
- erlang split_binary用法及代碼示例
- erlang self用法及代碼示例
- erlang spawn用法及代碼示例
- erlang spawn on Node用法及代碼示例
- erlang spawnlink用法及代碼示例
- erlang safe_fixtable(Table, Fix)用法及代碼示例
- erlang select(Table, MatchSpec)用法及代碼示例
- erlang select_replace(Table, MatchSpec)用法及代碼示例
- erlang select_reverse(Continuation)用法及代碼示例
注:本文由純淨天空篩選整理自erlang.org大神的英文原創作品 start(Host) -> {ok, Node} | {error, Reason}。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。