Erlang入门:构建application练习3(随机启动)

1、构建目录结构

我这示例中,项目文件夹为bank1

ebin目录:存放编译出来的beam文件

include目录:存放hrl文件

src目录:存放erl源文件

2、创建Emakefile文件

编译时,编译器会根据Emakefile文件做相应处理

{
[
'src/*' %% 指定erl源文件目录
]
,[
debug_info
,{i, "include"} %% 指定include文件夹
,{outdir, "ebin"} %% 指定编译出来的beam文件存放目录
]
}.

2、编写编译脚本make.bat

erl -s make all -s c q
pause

设置-s启动参数,

-s make all相当于erlang shell里执行make:all()进行编译

-s c q相当于erlang shell里执行c:q()退出erlang shell

3、编写启动函数

文件名为bank.erl

-module(bank).
-export([start/0]). 

start() ->
application:start(bank).

把bank.erl文件放在src目录下

3、编写启动脚本

@echo off
start werl -pa ebin -s bank
exit

脚本中的start为bat命令,用来启动一个独立窗口执行werl

-pa ebin表示把bank1/ebin路径添加到erlang的搜索路径中

-s bank表示启动erlang shell后执行bank:start()

4、运行make.bat

5、运行start.bat

看到输出:

%% [<0.34.0>bank_app:10] Start bank_app ...

证明名为bank的application已经启动了

6、示例代码下载

地址:http://download.csdn.net/detail/u011471961/8367873

时间: 2024-11-04 21:22:17

Erlang入门:构建application练习3(随机启动)的相关文章

Erlang入门:构建application练习5(监督树)

1.前言 在<Erlang入门:构建application练习4(进程link的作用)>一文中, 提到了一个问题: 如果系统进程内部发生了错误而异常退出,将会出现什么情况? 在application中,像bank_center这样的系统进程,如果终止了,整个系统就无法正常运行,为了让bank_center意外终止时能自动重启,这里就要请Erlang的监督树出来帮忙了. 演示项目bank3目录结构: 2.编写监督树回调模块bank_sup.erl 监督树的回调模块只有一个函数init/1 %%

[Erl_Question08] Erlang怎么构建一个application?

问题: 当我们把一个项目中所有的supervision tree通过一个简单的函数game: start(),会发现这个树结构特别复杂,只能有一个根节点,然后一直扩展. 这里,这就是application出现的原因,设计一个可以随时开关的子块(application).比如:上图中的log app, db app ,game app, connect app .. 这样对这些应用的开关管理就非常方便啦,[试想你如果用supervisor,运行时还要手动去停进程树,然后还要移除监控树,还要做cle

iOS 8 应用构建细节挖掘 之 应用启动流程

太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. 24K 标题党! 不过内容绝对够细节而全面,仅针对启动流程这一小块块哟! iOS 应用启动流程,这个话题早在09年就非常熟悉,然而时隔多年,不知是

将MongoDB服务加入随机启动

vi /etc/rc.local 使用vi编辑器打开配置文件,并在其中加入下面一行代码 /usr/local/mongodb/bin/mongod -dbpath=/usr/local/mongodb/data/db --fork --port 27017 --logpath=/usr/local/mongodb/log/work.log --logappend --auth 启动服务 /usr/local/mongodb/bin/mongod -dbpath=/usr/local/mongod

Centos7下通过Shell实现Tomcat随机启动

我们今天介绍的是在Centos7下通过Shell实现Tomcat随机启动的配置介绍,从centos7开始从systemd替换了service了,所以操作起来换是有点差别.具体就不多介绍了,开始我们今天的主要介绍, 我们的环境:Centos7下,然后创建独立分区,然后将JDK和Tomcat服务放在独立分区下,然后配置环境变量,最后通过编辑shell脚本实现开机Tomcat随系统启动. 我们首先在独立分区DATA下创建一个java目录,主要存放JDK的文件. 我们通过uname -a命令查看当前系统

创建一个最简单的Linux随机启动服务

创建一个最简单的Linux随机启动服务 ? Xiaoxia[PG] 创建一个最简单的Linux随机启动服务网上有不少关于如何让Linux自动运行自己编写的脚本或者程序的方法,但是大多数都是把命令写到/etc/rc.d/rc.local或者/etc/rc.local里,这样虽然能够实现随机运行,但是并不够灵活.不能像mysql,apache等服务一样能够使用service命令或者调用init.d下的脚本启动.关闭或者重启进程.例如, service mysql restart service ap

解压安装的tomcat, 使用chkconfig命令让tomcat 随机启动,tomcat 变为系统服务

使用解压安装的tomcat包,命令行输入 service tomcat start 会报 tomcat: unrecognized service 错误提示,意思是说系统没有找到该服务. 好了,我们现在要解决的问题就是这个报错提示,让我们的解压安装版tomcat也可以支持yum安装方式的service tomcat start命令. 在/xxx/tomcat/bin/目录下新建一个tomcatd 文件,编辑内容如下: #!/bin/bash # # tomcatd This shell scri

redhat nginx随机启动脚本

开机自动启动nginx 1.    扔脚本进去/etc/init.d/ 2.    授权     chmod +x nginx 3.    一旦抛出:binsh^M错误就执行编码改写     设置dos统一编码     (请看nginx脚本抛出binsh^M bad interpreter文档) 4.    添加到服务     chkconfig --add ningx 5.    随机启动脚本带动nginx开机启动     chkconfig --level 2345 nginx on 附上脚

Erlang入门:构建application练习4(进程link的作用)

1.示例项目(bank)简介 bank_server.erl是为客户服务的进程回调模块 bank_center.erl是为银行服务中心的进程回调模块 客户(bank_server)每年都要扣除年费 所有年费都交给银行服务中心(bank_center) 客户服务使用示例: 创建用户:bank_server:create_account(myname, 100). 用户存钱:myname ! {deposit, 10}. 用户取钱:myname ! {cash1, 20}. myname ! {ca