一种以standalone方式启动erlang应用的方法
来源:互联网 发布:淘宝仅退款和退货 编辑:程序博客网 时间:2024/05/24 01:46
转载:http://cryolite.iteye.com/blog/383927
就像普通java应用一样启动一个erlang虚拟机,程序在虚拟机上运行,没有交互界面。
一个办法是启动时带 -detached参数,这样erlang虚拟机就进入了所谓的detached模式,在detached模式中,erlang静悄悄的在背后运行,没有常见的那个交互终端界面。
例子:以detached模式启动一个my_app应用
- erl -detached -name foo@192.168.1.103 -setcookie abc -s my_app
my_app就像普通的daemon应用一样在背后运行了
但是当要控制detached模式启动的erlang虚拟机时怎么办,比如退出应用,或者查看erlang应用状态等。
连接detached模式的erlang节点的方法就我所知有两种:
1。 通过远程shell JCL登录,在Programming Erlang的6.7.3节介绍了这个,简单的说就是ctrl+g后的那个shell界面。具体方法是:
i) 启动一个erlang节点:
- erl -name bar@192.168.1.103 -setcookie abc
ii) ctrl+g进入shell JCL,然后远程连接detached模式的erlang:
- --> r 'foo@192.168.1.103'
- --> c
- Eshell V5.7.1 (abort with ^G)
- (foo@192.168.1.103)1>
就可以控制detached模式的erlang了
2。使用erl的-remsh参数
- erl -name bar@192.168.1.103 -remsh foo@192.168.1.103 -setcookie abc
但这样attach上后不知道怎么恢复到原来的detached模式
个人觉得shell JCL的方式比较好,如果有多个detached模式的Erlang节点(不管是不是远程的),都可以用一个Erlang shell进行控制,有点screen的感觉了,呵呵。
detached模式比较符合我们常用的erlang启动方法。在mryufeng的另一种实用的接入erlang控制台的方法中提到的方法也蛮好的说,但不知道可不可以远程接入。
嗯,先记下
注:
带-detached参数的启动可能等效于同时带-noshell和-noinput参数的启动,用
- ps -ef|grep beam
查看-detached启动的erlang进程时就会发现包含了-noshell -noinput这俩参数。
参考资料
1. Detached mode
2.erl
3. How to start an erlang applications from the command line non-interactively?
- 一种以standalone方式启动erlang应用的方法
- 一种以standalone方式启动erlang应用的方法(守护进程)
- 以standalone方式安装spark
- erlang代码学习的一种方式
- 启动apache,报(OS 10013)以一种访问权限不允许的方式...
- 启动apache,报(OS 10013)以一种访问权限不允许的方式
- jetty启动的两种方式: standalone启动和scala程序内嵌启动
- activity的一种精彩的启动方式
- 两一种启动多线程的方式:Runnable
- 三星MCU的一种启动方式
- 一种exe启动方式的设计探讨
- Erlang gen_serever和普通进程启动方式的区别
- 以一种"廉价"的方式获取页面的标题(downmoon)
- 无法以debug的方式,启动项目
- 以windows Service的方式启动MongoDB
- 企业应用安装的一种方式
- 一种 Dockerize 应用的简单方式
- 一种以流程为中心的CRM实施方式
- iBatis #和$的区别 把int作为参数时,转换为字符型
- config或者xml中的embedded使用方法。
- iBatis把一个表的sqlmap配置的多个xml中。
- 单片机存储器
- T3表达式求值
- 一种以standalone方式启动erlang应用的方法
- ls vi 等所有命令用不了:error while loading shared libraries: librt.so.1:
- Eclipse调试常用技巧
- welcome everyone to visit my other blog (http://blog.sina.com.cn/yuanchunshengblog)
- php中出现Notice: Uninitialized string offset: 0原因及解决办法
- T6substring
- 另一种实用的接入erlang控制台的方法
- wpa_supplicant移植
- volatile