erlang 应用获取系统参数
很多时候,我们的程序需要一些预定义的参数,比如上次说的tcp_server的例子
一般参数有几种途径,具体参考这里http://blog.yufeng.info/archives/2852
app里面,env字段,比如,我们的tcp_server_app.src
{application, tcp_server,
[
{description, ""},
{vsn, "0.1"},
{registered, []},
{applications, [
kernel,
stdlib
]},
{mod, { tcp_server_app, []}},
{env, [
{listen_port,}
]}
]}.
这种直接编译以后运行,不需要rebar generate
还有一种,放基于rebar项目的rel/files/sys.config里面,例如
[
{sasl, [
{sasl_error_logger, {file, "log/sasl-error.log"}},
{errlog_type, error},
{error_logger_mf_dir, "log/sasl"}, % Log directory
{error_logger_mf_maxbytes, }, % MB max file size
{error_logger_mf_maxfiles, } % files max
]}, {tcp_server,[
{listen_port,}
]}
].
tcp_server是实现了application的behavior的模块名字
应用里面的代码大概就是这样
-define(DEF_PORT, ). get_app_env(Opt, Default) ->
case application:get_env(Opt) of
{ok, Val} -> Val;
_ ->
case init:get_argument(Opt) of
[[Val | _]] -> Val;
error -> Default
end
end. ListenPort = get_app_env(listen_port, ?DEF_PORT).
erlang 应用获取系统参数的更多相关文章
- 23、java 通过System.getProperties()获取系统参数
1.java的System.getProperty()方法可以获取的值 java.version Java 运行时环境版本 java.vendor Java 运行时环境供应商 java.vendor. ...
- java 通过System.getProperties()获取系统参数
转自:https://www.cnblogs.com/ksuifeng/archive/2010/09/25/1834416.html 1.java的System.getProperty()方法可以获 ...
- ansible的两种命令执行方式 : ad-hoc / playbook以及通过setup模块获取系统参数
一.什么是ad-hoc和playbook ad-hoc : 如果我们敲入一些命令去快速的完成一些操作,而不需要将这些执行过的命令刻意保存下来,这样的命令就叫做as-hoc命令,这里不做过多赘述. p ...
- Go-15-flag.String 获取系统参数
场景: 启动应用程序时,需要传入系统参数.例如:./start --b /notebook --p true --n 8 package main import ( "fmt" f ...
- 通过System.getProperties()获取系统参数
Properties props=System.getProperties(); //系统属性 System.out.println("Java的运行环境版本:"+props ...
- sysconf获取系统参数
头文件: #include <unistd.h> 原型:long sysconf(int sysnum); 示例: #include <stdio.h> #include &l ...
- 关于Java获取系统信息
本文部分转载自: http://www.cnblogs.com/wuhenke/archive/2011/11/19/2255400.html 我总结的相关类似博客:http://www.cnblog ...
- Erlang运行中的错误
Erlang运行时发生错误时,会返回一些错误信息,理解这些信息,对于学好.用好Erlang来说是必要. Erlang中的运行错误包括:badarg, badarith, badmatch, funct ...
- Erlang运行时的错误
Erlang运行时发生错误时,会返回一些错误信息,理解这些信息,对于学好.用好Erlang来说是必要. Erlang中的运行错误包括:badarg, badarith, badmatch, funct ...
随机推荐
- Echarts的赋值,设置数据
柱形图案例的赋值 相关文档参考:https://blog.csdn.net/yangsitong1314/article/details/76984616 <div class="ma ...
- sklearn学习笔记之开始
简介 自2007年发布以来,scikit-learn已经成为Python重要的机器学习库了.scikit-learn简称sklearn,支持包括分类.回归.降维和聚类四大机器学习算法.还包含了特征 ...
- NumPy统计函数
NumPy - 统计函数 NumPy 有很多有用的统计函数,用于从数组中给定的元素中查找最小,最大,百分标准差和方差等. 函数说明如下: numpy.amin() 和 numpy.amax() 这些函 ...
- selenium学习笔记(selenium IDE下载安装)
今天自己一直在瞎捣鼓 最后这里整理下 selenium IDE 这个录制工具的下载安装 首先这个工具只支持火狐浏览器firefox.使用火狐浏览器进入selenium官网: http://www.se ...
- websocket之django简单使用
WebSocket protocol: WebSocket protocol 是HTML5一种新的协议.它是实现了浏览器与服务器全双工通信(full-duplex).HTML5定义了WebSocket ...
- Selenium with Python 003 - 页面元素定位
WebUI自动化,首先需要定位页面中待操作的元素,然后进行各种事件操作,这里我们首先介绍Selenium Python 如何定位页面元素,WebDriver 提供了一系列的方法. 定位单个页面元素(返 ...
- 51nod 1043 数位dp
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1043 1043 幸运号码 基准时间限制:1 秒 空间限制:131072 ...
- 【转】安装Ubuntu时卡在logo界面
Ubuntu15.04 安装卡在logo界面不动,进度点卡死不动,原因主要是双显卡,电源设置项默认不合理,导致安装失败. 选择USB硬盘(uefi),进入到一个有四个选项的界面,分别是 1,try U ...
- 转:oracle驱动表
以一个比较两本字典来做例子: 一本字典有索引目录(dict a), 一本没有(dict b) 现在要找出所有a开头的单词的异同 那么比较的时候,你会怎么比较? ...
- 修改element内部样式的两种方式
第一种: 全局样式修改: 但这种方式有点不好的地方,这样会影响别的组件,比如修改elementUI的树结构的样式,这样改的话会影响到别的树组件: 第二种方式: 在要修改的组件内修改树结构样式 比如改这 ...