2.erlang启动参数

本文介绍了erl命令用于启动Erlang服务时使用的参数,重点解析了-config和-s参数的作用,并提供了一个简单的配置文件示例,展示了如何通过配置文件指定应用程序的信息。

  erl命令用于启动erlang服务,其中的启动参数分为emulator flags、flags 和plain arguments。官方文档:http://www.erlang.org/doc/man/erl.html

  下面是一段linux下的启动参数:
  #!bash
  DOMAIN=127.0.0.1
  erl +P 1024000 -smp auto -name node1@$DOMAIN -setcookie gameserver -boot start_sasl -config gameserver -pa ../ebin -s gameserver start -extra 12001 12002

  主要分析一下-config和-s这2个参数。
  -config指定调用Config.config配置,该配置里包含我们的applicaion信息,下面是一个简单的配置文件:
  [
    {
      sasl,
      [
        {sasl_error_logger, false},
        {error_logger_mf_ftype, [system, error]},           %% system|info|warning|error|other  
        {error_logger_mf_dir, "../logs/sasl"},              %% 
        {error_logger_mf_maxbytes, 1048760},                %% 
        {error_logger_mf_maxfiles, 10}                      %% 
      ]
    },
    {
      gameserver,
      [
        {mysql_config,  [
        "127.0.0.1",
        3306,
        "root",
        "passwd",
        "demo_db",
        utf8
        ]},                               
        {log_level, 5}
      ]
    }
  ].  


  在该配置中,我们添加了sasl和gameserver两个application,sasl可用于格式化输出崩溃日志,而gameserver则是我们创建的application。关于自已创建的application,要有对应的.app配置文件,官方文档: http://www.erlang.org/doc/man/app.html
  下面是一个简单的gameserver.app配置:
  {   
    application, gameserver,
    [   
      {description, ""},   
      {vsn, "1"},   
      {modules,[gameserver]},
      {registered, [gameserver_app]},
      {applications, [kernel, stdlib, sasl]},   
      {mod, {gameserver_app, []}},
      {start_phases, []},
      {env,[{server, ""}]}
    ]   
  }. 
  mod是application的启动模块,启动模块时会进入到gameserver_app:start/2函数中。
<think>好的,用户的问题是关于如何启动Erlang OTP环境以及配置启动参数的。首先,我需要确认用户的操作系统环境,但根据提供的引用内容,用户可能使用的是CentOS,因为引用1提到了CentOS环境下的安装。接下来,我需要分步骤说明启动Erlang的两种方式:直接启动和通过脚本启动,并且给出配置启动参数的方法,比如使用环境变量和命令行参数。 用户可能已经安装了Erlang,所以重点在于启动和配置。需要确保用户知道如何验证安装是否成功,例如通过erl命令。然后,配置启动参数部分,应该包括如何设置环境变量如ERL_CRASH_DUMP和ERL_AFLAGS,以及如何通过命令行传递参数,比如+K参数用于内核轮询。 此外,用户可能需要自定义启动脚本,这里需要提供一个简单的脚本示例,并说明如何赋予执行权限。同时,提醒用户参考官方文档和项目地址,以符合引用中的资料。 需要检查是否有遗漏的步骤,比如安装后的验证,或者常见问题的解决方法,但根据用户的问题,可能不需要深入这些方面。最后,生成的相关问题需要与启动、配置、优化相关,确保覆盖用户可能进一步询问的方向。</think>### 如何启动 Erlang/OTP 环境及配置启动参数 #### 1. 启动 Erlang/OTP 交互式环境 在终端直接输入 `erl` 命令即可启动 Erlang Shell: ```bash erl ``` 启动后显示类似以下信息表示成功: ``` Erlang/OTP 25 [erts-13.0] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1] [jit] Eshell V13.0 (abort with ^G) 1> ``` 输入 `q().` 或 `Ctrl+C` 后选择 `a` 退出[^1]。 #### 2. 配置启动参数 可通过以下方式自定义启动行为: **(1) 环境变量配置** - **设置崩溃日志路径**: ```bash export ERL_CRASH_DUMP=/var/log/erlang/crash.dump ``` - **预加载启动命令**: ```bash export ERL_AFLAGS="-kernel shell_history enabled" ``` **(2) 命令行参数** ```bash erl +K true \ # 启用内核轮询 +P 1000000 \ # 设置进程数上限 -sname node1 # 设置节点名称 ``` **(3) 自定义启动脚本** 创建 `start_erlang.sh` 文件: ```bash #!/bin/bash erl +pc unicode \ -env ERL_FULLSWEEP_AFTER 10 \ -eval 'io:format("系统已启动~n").' ``` 赋予执行权限: ```bash chmod +x start_erlang.sh ``` #### 3. 验证配置 通过 `erl` 启动后执行: ```erlang erlang:system_info(check_io). ``` 可查看当前 I/O 配置状态[^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值