Erlang杂项
Contents
erlang 启动参数说明
+ : 它是 emulator flag 它控制模拟器的行为(即虚拟机)。(emulator flag).可以通过 erlang:system_info(…) 来获取。所有选项名有: system_info
- : 这种参数是传递给 runtime system ,特别是 init system 来处理的。可以通过 init:get_argument/1 函数来获取这些参数,init:get_arguments(). 会列出所有。 (flag)
plain argument : 它可以出现在第一个 (flag) 之前,或者在 – flag 后面。又或者是 -extra flag 后面。可以通过 init:get_plain_arguments(). 来获取
让 Erlang 接受的信号说明
SIGUSR1 : 它会导致Erlang强制产生一个 crash dump 文件。 SIGTERM : 它会产生一个 stop 的消息给 init 进程。即等同于调用 init:stop/0 SIGUSR2 : 它保留Erlang内部使用。
环境变量
ERL_CRASH_DUMP
这个是 crash_dump 的文件名。如果没设置,它就是在当前目录下的,crash dump 的文件名为 erl_crash.dump
ERL_CRASH_DUMP_NICE
当模拟器需要写crash dump文件时,这个值就是该进程的 nice value 。有效范围是 1-39 。数值越大,优先级越低。
ERL_CRASH_DUMP_SECONDS
即花费在写 crash dump 文件允许耗时的秒数。当超过了这个秒数,模拟器就会被 SIGALRM 信号终止。
如果它没有设置,或者设置为0( ERL_CRASH_DUMP_SECONDS=0 ),运行时系统甚至不会尝试写 crash dump 文件。它仅仅只是终止掉。 如果它为负数,比如 ERL_CRASH_DUMP_SECONDS=-1 ,则运行时系统会无限等待,直到 crash dump 文件已经被写到文件了。
ERL_CRASH_DUMP_BYTES
crash dump 文件最大的字节数,超出时它会被截断。如果没有设置,则表示没有限制。如果设置为0,则不会尝试写 crash dump 文件。
ERL_AFLAGS
这个值的内容,会被添加到 erl 命令行的开头。但如果有 -extra 则比较特殊,这部分要放在该值的结尾,然后它会被放到正式命令行的 -extra 后面。
ERL_ZFLAGS and ERL_FLAGS
这两个环境变量的值,会被追加到 erl 命令行的结尾。同样,如果是含有 -extra 也会特别处理。(同上)
ERL_LIBS
它包含额外的库目录,它会被添加到 code path 。
ERL_EPMD_ADDRESS
可以设置为逗号分隔的IP地址列表,表示 epmd 进程监听的地址。(loopback 地址是一直会被监听的,无论它有没有显式指明)
ERL_EPMD_PORT
epmd 进程监听的端口。
注意,在一个集群中的所有节点,它们的 epmd 端口必须是相同的!!!