2.erlang启动参数

来源:互联网 发布:阿沁的淘宝店叫什么 编辑:程序博客网 时间:2024/05/17 04:47

  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函数中。
0 0
原创粉丝点击