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}。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。