`
mryufeng
  • 浏览: 977680 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

另一种实用的接入erlang控制台的方法

阅读更多
能对运行中的erl系统进行控制是非常重要的一个福利,但是假如你的erl系统是后台运行的, 根本就没有shell可以让你输入。

如果你的节点有name 那么可以用JCL 或者-remsh 接入. 否则的话 你就得用如下方法:

请先参考 Embedded Systems User's Guide. 这种方式的好处是你的所有输入输出都记录在log文件里面 方便你日后查阅。


先运行
[root@localhost R13A]# which erl
/usr/local/bin/erl
确认下你的erl系统安装在那个路径。

[root@localhost bin]# /usr/local/lib/erlang/bin/start
但是我用的R12B5或者R13A发行版这样有点小问题 start没有运行起来, 我调查了半天发现有2个问题:

1. run_erl的log是设定在/usr/local/lib/erlang/log但是没有这个目录, 通过运行mkdir /usr/local/lib/erlang/log搞定

2. /usr/local/lib/erlang/releases/R13A/sys.config文件没有.
其中 R13A可能是R12B5.
通过运行echo "[]." >  /usr/local/lib/erlang/releases/R13A/sys.config搞定

做了以上的步骤,现在运行
[root@localhost ~]# ps -ef|grep beam
root     19947 19946  0 03:35 pts/3    00:00:00 /usr/local/lib/erlang/erts-5.7/bin/beam.smp -- -root /usr/local/lib/erlang -progname start_erl -- -home /root -boot /usr/local/lib/erlang/releases/R13A/start -config /usr/local/lib/erlang/releases/R13A/sys
确认beam已经运行, 同时/tmp/目录下有erlang.pipe.1.r  erlang.pipe.1.w 的pipe.

如果还没有运行起来 那么就看下 tail /var/log/syslog 查明出错原因

收获的时候到了
[root@localhost bin]# to_erl
Attaching to /tmp/erlang.pipe.3 (^D to exit)
1>
1>
1>
看到熟悉的shell提示符号了。退出的时候记得用^D, 而不是^C.




分享到:
评论
7 楼 mryufeng 2009-11-25  
run_erl和to_erl是通用的pipe封装器 我们也可以这样用:

/usr/local/lib/erlang/bin/run_erl  -daemon /tmp/ /tmp/log "exec lua"

to_erl
这时候我们看到的是 lua的shell

6 楼 mryufeng 2009-11-25  
run_erl和to_erl是通用的pipe封装器 我们也可以这样用:


5 楼 mryufeng 2009-11-06  
这种方式是后台运行且不是节点的erl程序 接入控制台的唯一方式。
4 楼 litaocheng 2009-04-09  
按照老大的方法,走了一遍。通过
顶!
3 楼 mryufeng 2009-04-07  
macosx版本也是同样的问题
2 楼 mryufeng 2009-04-06  
/*
* Module: run_erl.c
*
* This module implements a reader/writer process that opens two specified
* FIFOs, one for reading and one for writing; reads from the read FIFO
* and writes to stdout and the write FIFO.
*
  ________                            _________
|        |--<-- pipe.r (fifo1) --<--|         |
| to_erl |                          | run_erl | (parent)
|________|-->-- pipe.w (fifo2) -->--|_________|
                                          ^ master pty
                                          |
                                          | slave pty
                                      ____V____
                                     |         |
                                     |  "erl"  | (child)
                                     |_________|
*/
1 楼 mryufeng 2009-04-06  
erl_call 也可以对 有名字的节点进行rpc调用 进行简单的维护操作。

相关推荐

    用matlab产生 erlang分布的随机数,两种方法

    另一种方法是通过计算Erlang分布的累积分布函数的逆函数(即百分位数函数,invcdf)来生成随机数。MATLAB没有内置Erlang分布的invcdf函数,但我们可以通过伽马分布的invcdf实现,因为Erlang分布是伽马分布的特殊情况...

    erlang -c语言程序接口.pdf

    另一种是通过进程间通信(IPC)的方式让Erlang与C语言程序进行交互。Erlang倾向于采用第二种方式,即进程间通信,来与C语言程序进行交互。 #### 三、Erlang与C语言接口的工作原理 在Erlang中,与C语言程序进行通信...

    erlang编程 Introducing Erlang

    Erlang中的链接(Linking)和监控(Monitoring)机制允许进程间建立关系,以便在另一进程崩溃时得到通知。链接用于追踪相关进程的状态,而监控则可以观察进程的生存状态。 ### 5. 消息传递 Erlang的进程间通信主要...

    erlang 连接学习例子

    Erlang是一种面向并发的、函数式编程语言,由瑞典电信设备制造商Ericsson开发,用于构建高可用性、分布式和实时系统。在这个“erlang 连接学习例子”中,我们有两个核心文件:`server.erl` 和 `client.erl`,它们...

    erl_nif 扩展erlang的另外一种方法

    在“erl_nif 扩展erlang的另外一种方法.pdf”中,可能详细介绍了以上各步骤的实践指南,包括示例代码和最佳实践。而“更多erlang资料下载.txt”则可能提供了进一步学习Erlang和`erl_nif`的资源链接。 通过`erl_nif`...

    使用erlang连接ES的客户端

    在IT领域,Erlang是一种面向并发的、函数式编程语言,常用于构建高可用性和分布式系统,如电信、银行和互联网服务等。Elasticsearch(简称ES)则是一款流行的开源全文搜索引擎,广泛应用于大数据分析和实时搜索。...

    一种傻纸牌游戏的Erlang实现

    标题 "一种傻纸牌游戏的Erlang实现" 暗示了我们将探讨一个使用Erlang编程语言构建的简单纸牌游戏。Erlang是一种并发性极强、功能丰富的函数式编程语言,常用于构建分布式系统和高可用性的应用程序。 在描述中提到的...

    ErlangB和ErlangC计算工具(exe可执行文件+excel两个)

    Erlang B和Erlang C是电信领域中两种重要的流量模型,用于预测和分析通信系统中的呼叫处理能力和拥塞情况。这两个模型由丹麦工程师Agner Krarup Erlang在20世纪初提出,至今仍广泛应用于现代通信网络的设计与优化。 ...

    Erlang官网下载过慢

    Erlang是一种面向并发的、函数式编程语言,主要用于构建高度可扩展的、容错性强的分布式系统。在IT行业中,Erlang因其强大的实时性和处理大量并发连接的能力而被广泛应用于电信、互联网基础设施和实时系统。RabbitMQ...

    erlang9.rar

    Erlang是一种高级编程语言,特别适用于并发、分布式和实时计算系统。它的设计目标是创建一个高可用性、容错性强、低延迟的系统。Erlang9指的是Erlang/OTP(Open Telephony Platform)的第9个主要版本。OTP是Erlang...

    Erlang_CNode用户指

    Erlang是一种高级并发编程语言,由爱立信开发,主要用于构建高可用性、容错性强、可热更新的分布式系统。它以其独特的进程模型、消息传递机制以及轻量级的分布式特性而闻名。Erlang的并发模型基于轻量级进程...

    erlang_版本24.3.4.4

    Erlang是一种面向并发的、函数式编程语言,由瑞典电信设备制造商Ericsson开发,主要用于构建高可用性、分布式和实时系统。版本24.3.4.4是Erlang的一个更新版本,包含了对先前版本的改进和修复。Erlang以其强大的错误...

    Erlang Windows 64位 安装包

    Erlang是一种高级编程语言,特别为并发、分布式计算和实时系统设计,广泛应用于电信、银行、互联网服务和即时消息传递等领域。它以其强大的错误恢复能力和容错性著称,是构建大规模、高可用性系统的关键工具。在...

    erlang port driver test

    Erlang 是一种高效、并发、面向进程的编程语言,常用于构建分布式系统。在 Erlang 中,Port Driver 是一种机制,允许 Erlang 进程与外部 C 库或者其他语言编写的程序进行通信。Port Driver 提供了一种方式,使得 ...

    erlang23.0-rabbitmq3.8.4.rar

    Erlang是一种函数式编程语言,以其并发性、容错性和实时性而闻名,尤其适用于构建高可用性的分布式系统。RabbitMQ则是一个开源的消息代理和队列服务器,基于Erlang开发,它实现了多种消息传递协议,如AMQP(Advanced...

    Erlang 20.3linux安装包

    Erlang是一种面向并发的、函数式编程语言,主要用于构建高度可扩展的、容错性强的分布式系统。在IT行业中,Erlang因其强大的实时性、并发性和内存管理机制而被广泛应用于网络通信、数据库系统以及消息中间件,如...

    erlang25.0 windows版本

    Erlang是一种高级编程语言,特别适用于并发、分布式和实时系统。它由Ericsson公司开发,主要用于构建高可用性、容错性和可扩展性的软实时系统。Erlang的25.0版本是该语言的一个更新,针对Windows操作系统进行了优化...

    Erlang_x64_20.1

    Erlang是一种高级编程语言,特别为并发、分布式和实时计算设计,由爱立信公司于1986年开发,现在广泛应用于网络和通信系统,尤其是消息队列服务器RabbitMQ的基础。Erlang_x64_20.1是Erlang OTP (Open Telephony ...

    erlang资源

    Erlang是一种面向并发的、函数式编程语言,由瑞典电信设备制造商Ericsson开发,用于构建高可用性、分布式和实时系统。这个“erlang资源”包含两本PDF书籍——《Erlang并发编程》和《Erlang入门手册》,它们是深入...

    Erlang_win64_24.1.rar

    Erlang是一种面向并发的、函数式编程语言,由瑞典电信设备制造商Ericsson为了实现分布式实时、高可靠性系统而开发。在IT行业中,Erlang因其强大的错误恢复能力、轻量级进程支持以及高效的网络通信机制,常被用于构建...

Global site tag (gtag.js) - Google Analytics