erl_prim_loader
erl_prim_loader
模块
erl_prim_loader
模块摘要
低级别的Erlang加载器。
描述
该模块用于将所有Erlang模块加载到系统中。启动脚本也是通过这个低级加载器获取的。
erl_prim_loader
了解环境以及如何获取模块。
命令行标志-loader Loader
可以用来选择使用的方法erl_prim_loader
。Loader
Erlang运行时系统支持两种方法:efile
和inet
。
出口
get_file(文件名) - > {ok,Bin,FullName} | 错误
类型
使用低级加载器获取文件。Filename
是一个绝对文件名或只是文件的名称,例如"lists.beam"
。如果内部路径设置为加载器,则使用此路径查找文件。FullName
是获取文件的完整名称。Bin
是二进制文件的内容。
Filename
例如,也可以是档案中的文件$OTPROOT/lib/mnesia-4.4.7.ez/mnesia-4.4.7/ebin/mnesia.beam
。有关存档文件的信息,请参阅code(3)
。
get_path() - > {ok,Path}
类型
获取加载器中设置的路径。该init(3)
进程根据启动脚本中的信息设置路径。
list_dir(Dir) - > {ok,Filenames} | 错误
类型
列出目录中的所有文件。{ok, Filenames}
如果成功则返回,否则error
。Filenames
是目录中所有文件的名称列表。名称没有排序。
Dir
例如,也可以是档案中的目录$OTPROOT/lib/mnesia-4.4.7.ez/mnesia-4.4.7/ebin
。有关存档文件的信息,请参阅code(3)
。
read_file_info(文件名) - > {ok,FileInfo} | 错误
类型
检索有关文件的信息。{ok, FileInfo}
如果成功则返回,否则error
。FileInfo
是一个记录file_info
,在内核包含文件中定义file.hrl
。在调用该函数的模块中包含以下指令:
-include_lib("kernel/include/file.hrl").
有关记录的更多信息file_info
,请参阅file(3)
。
Filename
例如,也可以是档案中的文件$OTPROOT/lib/mnesia-4.4.7.ez/mnesia-4.4.7/ebin/mnesia
。有关存档文件的信息,请参阅code(3)
。
read_link_info(文件名) - > {ok,FileInfo} | 错误
类型
像read_file_info/1
除了如果Filename
是符号链接一样工作,关于链接的信息被返回到file_info
记录中并且记录的type
字段被设置为symlink
。
如果Filename
不是符号链接,则此函数返回的结果与read_file_info/1
。的结果完全相同。在不支持符号链接的平台上,此功能始终等同于read_file_info/1
。
set_path(Path) -> ok
类型
如果在启动脚本中init(3)
解释path
命令,则设置加载器的路径。
命令行旗
该erl_prim_loader
模块解释以下命令行标志:
-loader Loader
指定使用的加载器的名称erl_prim_loader
。Loader
可以efile
(使用本地文件系统)或inet
(使用boot_server
另一个Erlang节点上的加载)。
如果-loader
省略标志,则默认为efile
。
-loader_debug
使efile
加载器在处理文件时写入一些调试信息,例如失败的原因。
-hosts Hosts
指定inet
加载器可以使用的其他Erlang节点。如果标志-loader inet
存在,该标志是强制性的。在每个主机上,必须在Erlang节点上erl_boot_server(3)
,该节点负责处理加载请求。Hosts
是一个IP地址列表(主机名不可接受)。
-setcookie Cookie
指定Erlang运行时系统的cookie。如果标志-loader inet
存在,该标志是强制性的。
另见
init(3)
,,,erl_boot_server(3)